我希望确定某个字符串是否包含特定的子字符串,同时要考虑组合字符。为了说明这个问题,让我们来看一下Rust中的以下例子:
基本上,上述内容显示
是否有现有的函数/创建字符串匹配时遵守组合字符的方法?
fn main() {
let a_umlaut = "a\u{0308}"; // "ä"
println!("{}", a_umlaut.starts_with("a")); // true
}
基本上,上述内容显示
"ä".starts_with("a")
为true(请注意第一个“a”上面的分音符号)。我从技术层面理解这种行为的原因,但我仍希望上述代码输出 false
,因为 "ä" 和 "a" 是两个不同的用户可感知字符。是否有现有的函数/创建字符串匹配时遵守组合字符的方法?