📜  如何用空格分割字符串 rust (1)

📅  最后修改于: 2023-12-03 15:24:52.550000             🧑  作者: Mango

Rust中如何使用空格分割字符串

在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()函数将字符串两端的空格去除。