以不区分大小写的方式查找子字符串 – 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.CurrentCultureIgnoreCaseStringComparison.InvariantCultureIgnoreCase

如果找到匹配,则包含返回布尔值。 如果要搜索不区分大小写,可以在匹配之前使源字符串和字符串匹配大写或小写。

例:

 if(sourceString.ToUpper().Contains(stringToFind.ToUpper())) { // string is found } 

stringToSearch.ToLower().Contains(stringToSearchFor.ToLower())

 string myString = "someTextorMaybeNot"; myString.ToUpper().Contains( "text".ToUpper() );