私は単語がテキストに現れる回数を数えようとしています。私はHashMap
を使用していますが、実装では大文字と小文字を区別しません。大文字と小文字を区別しない文字列をHashMapキーとして使用する効率的な方法はありますか?
for line in reader.lines() {
for mut curr in line.as_ref().unwrap().split_whitespace() {
match word_map.entry(curr.to_string().to_lowercase()) {
Entry::Occupied(entry) => {
*entry.into_mut() += 1;
}
Entry::Vacant(entry) => {
entry.insert(1);
}
}
}
}
が、私は「」と「」同じことを考えたいが、「」が表示されない場合は、単に「」HashMap
に保持する:私は変換することにより、すべての単語を小文字にすることを実現します。今、私は小文字ですべての単語を保持します。これを行う効率的な方法はありますか?
テキストに「THE」と「 – raggy
」が含まれているとどうなるでしょうか?それらはすべて同じものとみなされ、最初に見つかったバージョンを保存する必要があります。私の問題は、テキストに "the"がなくても "The"だけがある場合でも、元の形ではなくすべて小文字で保存されています。 –