如何使用多个参数在 Rust 中拆分字符串?

Ano*_*non 4 rust

我试图在 Rust 中使用空格和,. 我试着做

let v: Vec<&str> = "Mary had a little lamb".split_whitespace().collect(); 
let c: Vec<&str> = v.split(',').collect();
Run Code Online (Sandbox Code Playgroud)

结果:

let v: Vec<&str> = "Mary had a little lamb".split_whitespace().collect(); 
let c: Vec<&str> = v.split(',').collect();
Run Code Online (Sandbox Code Playgroud)

Fre*_*ios 7

将带有 s 的切片传递char给它:

fn main() {
    let s = "1,2 3";
    let v: Vec<_> = s.split([' ', ','].as_ref()).collect();

    assert_eq!(v, ["1", "2", "3"]);
}
Run Code Online (Sandbox Code Playgroud)

split接受类型为 的参数Pattern。要了解具体可以作为参数传递的内容,请参阅实现者


Ben*_*ern 6

使用闭包:

let v: Vec<&str> = "Mary had a little lamb."
    .split(|c| c == ',' || c == ' ')
    .collect();
Run Code Online (Sandbox Code Playgroud)

这是基于字符串文档