在Rust中,检查字符串是否只包含某个字符集的惯用方法是什么?
你可以使用all
来检查所有字符是否都是字母数字。
fn main() {
let name = String::from("Böb");
println!("{}", name.chars().all(char::is_alphanumeric));
}
chars
返回一个字符的迭代器。all
如果该函数对于迭代器的所有元素都返回true,则返回true。is_alphanumeric
检查它是否为字母数字字符。对于任意字符集,你可以传递任何你喜欢的函数或代码块给all
。
有趣的是,由于微妙的Unicode原因,在str
上相应的方法被明确删除了。
有一个is_alphanumeric()函数:
fn main() {
println!("{}", "abcd".chars().all(|x| x.is_alphanumeric()));
}
s.chars().all(char::is_alphanumeric)
也可以使用。 - Shepmasterall
中的谓词。 - Shepmaster