📜  在多个分隔符上拆分文本 - Rust (1)

📅  最后修改于: 2023-12-03 14:51:25.810000             🧑  作者: Mango

在多个分隔符上拆分文本 – Rust

当我们需要将一个字符串按照多个分隔符进行拆分时,Rust中提供了简单易用的方法。

使用split函数

我们可以使用标准库中的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函数

如果我们只想进行一定次数的拆分,可以使用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函数

如果我们只想按照空格进行拆分,可以使用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>中,并进行后续处理。