在Rust中,判断字符串是否只包含特定字符集的惯用方法是什么?

推荐答案

使用all判断所有字符是否为字母数字.

fn main() {
    let name = String::from("Böb");
    println!("{}", name.chars().all(char::is_alphanumeric));
}
  • chars返回一个字符迭代器.
  • 如果函数对迭代器的所有元素都为true,则all返回true.
  • is_alphanumeric判断其是否为字母数字.

对于任意字符集,可以将任何函数或代码块传递到all.

有趣的是,the corresponding methods on str were explicitly removed for subtle Unicode reasons.

Rust相关问答推荐

收集RangeInclusive T到Vec T<><>

在Rust中,有没有一种方法让我定义两个 struct ,其中两个都遵循标准 struct ?

在跨平台应用程序中使用std::OS::Linux和std::OS::Windows

在自定义序列化程序中复制serde(With)的行为

有没有办法指定只在Rust的测试中有效的断言?

Rust 的多态现象.AsRef与Derf

如何go 除多余的(0..)在迭代中,当它不被使用时?

如何实现Serde::Ser::Error的调试

你能在Rust中弃用一个属性吗?

为什么rustc会自动降级其版本?

对reqwest提供的这种嵌套JSON struct 进行反序列化

为什么AsyncRead在Box上的实现有一个Unpin特征绑定?

当没有实际结果时,如何在 Rust 中强制执行错误处理?

unwrap 选项类型出现错误:无法移出共享引用后面的*foo

Rust 异步循环函数阻塞了其他future 任务的执行

str 和 String 的 Rust 生命周期

从光标位置旋转精灵

在运行时在 Rust 中加载字体

RAII 模式的 Rust 解决方案,用于在 new() 和 drop() 上修改另一个对象

在 Rust 中枚举字符串的最佳方式? (字符()与 as_bytes())