rust分割字符串后使用指针通过HashMap统计每种字符出现的次数。
技术要点:通过逗号分割字符串,然后使用HashMap 统计每种字符出现的次数,这里主要是利用指针来修改次数。
use std::collections::HashMap;
fn main(){
let mystr = "abc,go,abc,rust,rust,abc,rust,rust";
let mut Map:HashMap<&str,i32> = HashMap::new();
for i in mystr.split(","){
let c = Map.entry(i).or_insert(0);
*c += 1;
}
println!("{:?}",Map);
}
//输出内容{"abc": 3, "rust": 4, "go": 1}
知识拓展:在rust中,字符的区分大小写的,因此,若是字符串中出现相同字母但是有大小区别,那么,将会当作两种不同的字符。因此,若想统计正确,可以将字符串全部转换为大写。
改成如下代码即可。
let mystr = "abc,go,abc,rust,rust,abc,rust,rust".to_uppercase();