如何在Rust中分割未知数量的制表符,空格和换行符?

Jal*_*Jal 3 rust

我想达到非常相似的东西strings.Fields,我得到的所有非围棋\t,space\n在一条线上连续的字符

例如

this is a \n special \t\t word
Run Code Online (Sandbox Code Playgroud)

将返回

[this, is, a, special, word]
Run Code Online (Sandbox Code Playgroud)

这可能在Rust吗?

split函数仅采用显式模式.

例如

a \t\t\t b \t\t\t\t c
Run Code Online (Sandbox Code Playgroud)

for s in line.split("\t\t\t") {
    println!("{}", s);
}
Run Code Online (Sandbox Code Playgroud)

将返回

a
b
\t
c
Run Code Online (Sandbox Code Playgroud)

Bur*_*hi5 10

标准库中split_whitespace定义的方法可以满足str您的需要.

文档中的示例非常清楚:

let mut iter = " Mary   had\ta\u{2009}little  \n\t lamb".split_whitespace();
assert_eq!(Some("Mary"), iter.next());
assert_eq!(Some("had"), iter.next());
assert_eq!(Some("a"), iter.next());
assert_eq!(Some("little"), iter.next());
assert_eq!(Some("lamb"), iter.next());

assert_eq!(None, iter.next());
Run Code Online (Sandbox Code Playgroud)