From 001d0c5c177d029f862ce7261012ac164ce6d0e3 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Sun, 3 Sep 2023 20:44:51 -0400 Subject: [PATCH] Ignoring numbers that contain alphabetic characters --- src/parser.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/parser.rs b/src/parser.rs index 381fb10..0b0f1c0 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -25,6 +25,12 @@ pub mod parser { if let Ok(lines) = self.read_lines(&self.filepath) { for line in lines { if let Ok(phonenumber) = line { + let contains_letters = phonenumber.chars().any(|c| c.is_alphabetic()); + + if contains_letters { + continue; + } + let myobj: SomeObject = SomeObject { value: phonenumber }; @@ -111,12 +117,19 @@ pub mod parser { println!("Unparsed: {}", unparsed); let mut parsed: String = String::new(); + let mychars = unparsed.chars(); for i in 0..unparsed.len() { - let mychar: char = unparsed.chars().nth(i).unwrap(); + let mychar_wrap = mychars.clone().nth(i); - if mychar.is_numeric(){ - parsed.push(mychar); + if let None = mychar_wrap { + continue; + } + + let mychar = mychar_wrap.unwrap(); + + if mychar.is_numeric() { + parsed.push(mychar.clone()); } }