以不区分大小写的方式查找子字符串 – C#
可能重复:
不区分大小写(字符串)
使用String类的Contains()
方法可以找到子字符串。 如何以不区分大小写的方式在字符串中查找子字符串?
您可以使用IndexOf()方法,该方法采用StringComparison类型:
string s = "foobarbaz"; int index = s.IndexOf("BAR", StringComparison.CurrentCultureIgnoreCase); // index = 3
如果未找到该字符串,则IndexOf()返回-1。
没有不区分大小写的版本。 使用索引代替(或正则表达虽然不推荐和矫枉过正)。
string string1 = "my string"; string string2 = "string"; bool isContained = string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0;
StringComparison.OrdinalIgnoreCase
通常用于更多“程序化”文本,例如您可能已生成的路径或常量,并且是字符串比较的最快方法。 对于语言的文本字符串,请使用StringComparison.CurrentCultureIgnoreCase
或StringComparison.InvariantCultureIgnoreCase
。
如果找到匹配,则包含返回布尔值。 如果要搜索不区分大小写,可以在匹配之前使源字符串和字符串匹配大写或小写。
例:
if(sourceString.ToUpper().Contains(stringToFind.ToUpper())) { // string is found }
stringToSearch.ToLower().Contains(stringToSearchFor.ToLower())
string myString = "someTextorMaybeNot"; myString.ToUpper().Contains( "text".ToUpper() );