📅  最后修改于: 2023-12-03 14:51:25.810000             🧑  作者: Mango
当我们需要将一个字符串按照多个分隔符进行拆分时,Rust中提供了简单易用的方法。
我们可以使用标准库中的split()
函数进行字符串分割。
let my_string = "apple,banana,cherry;date?eggplant";
let splits: Vec<&str> = my_string.split(|c| ",;?".contains(c)).collect();
for split in splits {
println!("{}", split);
}
上面的代码将字符串my_string
按照,
、;
、?
进行拆分,并将结果存储在一个Vec<&str>
中。
最后,我们可以使用for
循环遍历拆分结果并打印出来。
如果我们只想进行一定次数的拆分,可以使用splitn()
函数。
let my_string = "apple,banana,cherry,date,eggplant";
let splits: Vec<&str> = my_string.splitn(3, ',').collect();
for split in splits {
println!("{}", split);
}
上面的代码将字符串my_string
按照,
进行拆分,拆分结果存储在一个Vec<&str>
中。
splitn()
函数的第一个参数指定拆分的次数,第二个参数指定按照什么字符进行拆分。在上面的示例中,我们指定了最多拆分3次。
如果我们只想按照空格进行拆分,可以使用split_whitespace()
函数。
let my_string = "apple banana cherry date eggplant";
let splits: Vec<&str> = my_string.split_whitespace().collect();
for split in splits {
println!("{}", split);
}
上面的代码将字符串my_string
按照空格进行拆分,拆分结果存储在一个Vec<&str>
中。
在Rust中,我们可以使用简单易用的split()
函数将字符串按照多个分隔符进行拆分。
如果只想要一定次数的拆分,可以使用splitn()
函数。
如果只想按照空格进行拆分,可以使用split_whitespace()
函数。
无论是哪种方法,都可以将拆分结果存储在一个Vec<&str>
中,并进行后续处理。