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