关于C#:如何确定字符串是否包含特定子字符串,忽略区分大小写


How to determine if string contains specific substring ignoring the case sensitive

本问题已经有最佳答案,请猛点这里访问。

我想检查下面的字符串是否包含c_中的top/top/top/top/top。我的代码就像

1
2
3
4
5
6
7
8
9
10
string str = null;
        str ="CSharp Top11111 10 BOOKS";
        if (str.Contains("top") == true)
        {
            Console.WriteLine("The string Contains() 'TOP'");
        }
        else
        {
            Console.WriteLine("The String does not Contains() 'TOP'");
        }

但只有当我的字符串包含"top"时才返回true。对于所有其他场景,如何返回true?我知道这可能很简单,但我找了很多找不到任何解决方案


无需要任何转换。 </P >

1
bool found ="My Name is".IndexOf("name", StringComparison.OrdinalIgnoreCase) >= 0;

使用一个或两.ToLower().ToUpper </P >

1
2
3
4
5
6
7
8
9
10
string str = null;
    str ="CSharp Top11111 10 BOOKS";
    if (str.ToLower().Contains("top") == true)
    {
        Console.WriteLine("The string Contains() 'TOP'");
    }
    else
    {
        Console.WriteLine("The String does not Contains() 'TOP'");
    }