如何使用特殊字符进行不区分大小写的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
。IndexOf和CompareOptions的文档可能会有帮助。
关于c# - C#IndexOf IgnoreCase特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30126863/