向量m
包含从48
到57
的“数字”,48
对应于0
,49
到1
等。数字按顺序由13, 10
的出现分隔。如何在下面的例子中得到n
的结果[1073, 8705]
?
fn main() {
let m: Vec<u8> = vec![49, 48, 55, 51, 13, 10, 56, 55, 48, 53, 13, 10];
let mut n: Vec<u32> = vec![];
println!("m = {:?}", m);
println!("n = {:?}", n);
// ...
println!("n = {:?}", n); // ? how get: [1073, 8705]
}
/*
0 - 48
1 - 49
2 - 50
3 - 51
4 - 52
5 - 53
6 - 54
7 - 55
8 - 56
9 - 57
*/
2条答案
按热度按时间x8diyxa71#
尽管由于使用字符串而对运行时有很小的影响,但我仍然更喜欢Rust的成熟解析功能:
字符串
对于字符串数组,将
n.parse::<u32>()
更改为n.parse::<String>()
。Playground
hmtdttj42#
你不需要遍历String,你可以手动解析。
字符串