我目前使用的是这个
fn main() {
let a = "abc123";
let b = "1a2b3c";
println!("{}", a[0..1].chars().all(char::is_numeric));
println!("{}", b[0..1].chars().all(char::is_numeric));
}
是否有更习惯或更简单的方法?
注意:字符串保证是非空的,并且是由ASCII字符组成的,我目前使用的是这样的 fn main() { let a = "abc123"; let b = "1a2b3c"; print="1a2b3c"。
如果你确定它是非空的并且是由ascii组成的,你可以直接对字节进行操作(u8
):
a.as_bytes()[0].is_ascii_digit()
或
(b'0'..=b'9').contains(&a.as_bytes()[0])
更一般的设置(和。在我看来,比较习惯)。)
a.chars().next().unwrap().is_numeric()
所有这些看起来有点笨重的原因是,可能有一些事情出了问题(在其他语言中很容易被忽略)。
Option
unwrap
-陆地