如何使用特殊字符进行不区分大小写的indexOf?
我需要搜索“benefícios”一词,即使我不对“ i”使用特殊字符,我也希望IndexOf能够找到它

这样我找不到它:

string str = "candidatar-se a benefícios";
string word = "beneficio";
str.IndexOf(word, StringComparison.OrdinalIgnoreCase)


但是有了这个我可以:

string str = "candidatar-se a benefícios exclusivos";
string word = "benefício";
str.IndexOf(word, StringComparison.OrdinalIgnoreCase)


谢谢

最佳答案

使用相关区域性的CompareInfo并使用CompareOptions.IgnoreNonSpace

string str = "candidatar-se a benefícios";
string word = "beneficio";

var compareInfo = CultureInfo.InvariantCulture.CompareInfo;
compareInfo.IndexOf(str, word, CompareOptions.IgnoreNonSpace);


您还可以组合其他比较选项-例如,如果您也想忽略大小写,请使用CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase

IndexOfCompareOptions的文档可能会有帮助。

关于c# - C#IndexOf IgnoreCase特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30126863/

10-16 09:51