如何将字符串转换为小写或执行某种忽略大小写的等效比较?在
Ascii
类型中有一个忽略大小写的选项,但似乎很复杂,并且我不知道如何将str
转换为Ascii
。Ascii
类型中有一个忽略大小写的选项,但似乎很复杂,并且我不知道如何将str
转换为Ascii
。std::ascii::AsciiExt.eq_ignore_ascii_case
可以帮您实现您想要的功能:
use std::ascii::AsciiExt;
fn main() {
assert!("foo".eq_ignore_ascii_case("FOO"));
}
现在文档中的搜索功能相当不错;像“case”和“ascii”这样的搜索词会返回包含此解决方案的良好结果集。
从那个相同的特性开始,std::ascii::StrAsciiExt.to_ascii_upper
和 std::ascii::StrAsciiExt.to_ascii_lower
也非常方便。
to_ascii_lowercase
和to_ascii_uppercase
。 - ug_
str
上已经实现了。另外,如果我没记错的话,~"foo".as_slice().eq_ignore_ascii_case(owned_str.as_slice())
应该也适用于拥有的字符串,对吗? - Daniel Fath(~"foo").eq_ignore_ascii_case(~"FOO")
可以正常工作,无需调用as_slice()
方法。(试一下就知道了!) - Chris Morganstd::ascii::AsciiExt.eq_ignore_ascii_case
。 - Akshit Khurana