📅  最后修改于: 2023-12-03 15:24:52.550000             🧑  作者: Mango
在Rust中,使用空格分割一个字符串可以使用split_whitespace()
函数。该函数会返回一个迭代器,该迭代器会依据空格将字符串分割成多个部分,每一部分都是一个字符串。
以下是一个简单的例子:
let my_string = "Rust is awesome";
let mut my_string_iter = my_string.split_whitespace();
for word in my_string_iter {
println!("{}", word);
}
上面的代码会将my_string
依据空格分割成两个部分:“Rust”和“is awesome”,然后通过迭代器依次输出每个字符串。
如果你希望将这些字符串保存到一个向量中,可以使用collect()
函数:
let my_string = "Rust is awesome";
let my_string_vec: Vec<&str> = my_string.split_whitespace().collect();
println!("{:?}", my_string_vec);
上面的代码会将分割后的字符串保存到my_string_vec
向量中,并通过println!()
函数输出该向量。
可能你还会遇到一些特殊情况,例如字符串中包含多个连续空格、开头或结尾有空格等。这时候可以使用trim()
函数来去除字符串两端的空格,然后再使用split_whitespace()
来分割字符串。以下是一个示例:
let my_string = " Rust is awesome! ";
let my_string_trimmed = my_string.trim();
let my_string_vec: Vec<&str> = my_string_trimmed.split_whitespace().collect();
println!("{:?}", my_string_vec);
上面的代码会将my_string
中的空格去除,并分割成三个字符串:“Rust”、“is”和“awesome!”,然后输出到控制台中。
总结一下,使用split_whitespace()
函数可以很方便地将一个字符串按照空格进行分割,并通过迭代器或向量保存分割后的字符串。如果遇到特殊情况,可以使用trim()
函数将字符串两端的空格去除。