如何检查字符串是否只包含Rust中的字符集?

Aar*_*man 3 text-processing rust

在Rust中检查字符串是否只包含某组字符的惯用方法是什么?

Sch*_*ern 9

您将使用all检查所有字符是否为字母数字.

fn main() {
    let name = String::from("Böb");
    println!("{}", name.chars().all(char::is_alphanumeric));
}
Run Code Online (Sandbox Code Playgroud)
  • chars 返回字符的迭代器.
  • all 如果函数对于迭代器的所有元素都为true,则返回true.
  • is_alphanumeric 检查它是否是字母数字.

对于任意字符集,您可以传递您喜欢的任何函数或代码块all.

有趣的是,出于微妙的Unicode原因,明确删除了相应的方法str.


Sta*_*eur 8

is_alphanumeric()

fn main() {
    println!("{}", "abcd".chars().all(|x| x.is_alphanumeric()));
}
Run Code Online (Sandbox Code Playgroud)

  • `s.chars().all(char::is_alphanumeric)` 在这种情况下也适用。 (8认同)