2016-04-28 2 views
-1

Я хочу проверить, содержит ли строка ниже top/TOP/toP/Top/TOp/Top в C#. Мой код похож наКак определить, содержит ли строка определенную подстроку, игнорируя регистр, чувствительный к регистру

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'"); 
     } 

Но он возвращает true только тогда, когда моя строка содержит «верх». Как вернуть true для всех других сценариев? Я знаю, что это может быть простым, но я искал много не нашли каких-либо решений

ответ

3

без необходимости какого-либо преобразования:

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

Используйте один из обоих: .ToLower() или .ToUpper

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'"); 
    } 
Смежные вопросы