From cc6df813ad8f62f4fcda8b68367ec471afa7b693 Mon Sep 17 00:00:00 2001 From: shevernitskiy Date: Thu, 14 Mar 2024 09:36:44 +0300 Subject: [PATCH] handle double quotes in dictionary --- src/dictionary.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dictionary.rs b/src/dictionary.rs index b8875a0..da22058 100644 --- a/src/dictionary.rs +++ b/src/dictionary.rs @@ -56,10 +56,14 @@ impl Dictionary { let mut contents: Vec = Vec::new(); file.read_to_end(&mut contents); let mut map = HashMap::, Vec>::new(); + let quote = &b"\""[0]; for item in regex::bytes::Regex::new(r#"(?-u)"(.+)","(.+)""#)?.captures_iter(&contents) { + let mut k = item[1].to_vec(); let mut v = item[2].to_vec(); v.push(0); - map.insert(item[1].to_vec(), v); + k.dedup_by(|a, b| a == quote && b == quote); + v.dedup_by(|a, b| a == quote && b == quote); + map.insert(k, v); } Ok(map) }