检查a)&str b)String的字符串是空的还是空白的正确方法是什么?我过去常常这样做"aaa".len() == 0,但我的直觉告诉我应该采取另一种方式吗?
Ger*_*ann 27
双方&str并String呼吁的方法is_empty:
这是他们的使用方式:
assert_eq!("".is_empty(), true); // a)
assert_eq!(String::new().is_empty(), true); // b)
Run Code Online (Sandbox Code Playgroud)
tro*_*zen 16
可以使用以下方法检查空字符串或仅空白字符串:
s.trim().is_empty()
Run Code Online (Sandbox Code Playgroud)
wheretrim()返回从字符串的开头和结尾删除空白字符的切片(https://doc.rust-lang.org/stable/std/primitive.str.html#method.trim)。
小智 5
其他人已经回应,Collection.is_empty可以用来知道字符串是否为空,但假设“是空白”你的意思是“仅由空格组成”,那么你想要的UnicodeStrSlice.is_whitespace(),这对于空字符串和仅由字符组成的字符串都是如此unicodeWhite_Space属性集。
只有字符串切片实现UnicodeStrSlice,因此.as_slice()如果您从String.
TL;博士:s.is_whitespace()如果s: &str,s.as_slice().is_whitespace()如果s: String