How to count the number of each vowel in a string with Rust

1 Answer

0 votes
use std::collections::HashMap;

fn count_number_of_each_vowel_in_string(s: &str) -> HashMap<char, i32> {
    let vowels = "aeiou";
    let mut count_vowels: HashMap<char, i32> = vowels.chars().map(|ch| (ch, 0)).collect();

    for ch in s.chars() {
        if count_vowels.contains_key(&ch) {
            *count_vowels.get_mut(&ch).unwrap() += 1;
        }
    }

    count_vowels
}

fn main() {
    let s = "python c c++ c# java php javascript rust";
    
    let count_vowels = count_number_of_each_vowel_in_string(s);
    
    println!("{:?}", count_vowels);
}



/*
run:

{'a': 4, 'e': 0, 'i': 1, 'o': 1, 'u': 1}

*/

 



answered Jul 18, 2024 by avibootz
edited Jul 18, 2024 by avibootz

Related questions

1 answer 111 views
1 answer 102 views
1 answer 140 views
1 answer 93 views
1 answer 119 views
...