Найти подстроку без учета регистра – С#

Вопрос: Возможный дубликат: Нечувствительность к регистру содержит (строку) С помощью метода Contains() класса String можно найти подстроку. Как найти подстроку в строке без учета регистра? Лучший ответ: Вы можете использовать метод IndexOf(), который принимает тип StringComparison: string s = "foobarbaz"; int index = s.IndexOf("BAR", StringComparison.CurrentCultureIgnoreCase); // index = 3 Если строка не была найдена, IndexOf()

Вопрос:

Возможный дубликат:
Нечувствительность к регистру содержит (строку)

С помощью метода Contains() класса String можно найти подстроку.
Как найти подстроку в строке без учета регистра?

Лучший ответ:

Вы можете использовать метод IndexOf(), который принимает тип StringComparison:

string s = «foobarbaz»; int index = s.IndexOf(«BAR», StringComparison.CurrentCultureIgnoreCase); // index = 3

Если строка не была найдена, IndexOf() возвращает -1.

Ответ №1

Там нет версии без учета регистра. Вместо этого используйте IndexOf (или регулярное выражение, хотя это не рекомендуется и излишне).

string string1 = «my string»; string string2 = «string»; bool isContained = string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0;

StringComparison.OrdinalIgnoreCase обычно используется для более “программируемого” текста, такого как пути или константы, которые вы могли сгенерировать, и является самым быстрым средством сравнения строк. Для текстовых строк, которые являются лингвистическими, используйте StringComparison.CurrentCultureIgnoreCase или StringComparison.InvariantCultureIgnoreCase.

Ответ №2

Содержит возвращает логическое значение, если найдено совпадение. Если вы хотите искать регистр без учета регистра, вы можете сделать исходную строку и строку совпадающими как с верхним регистром, так и с нижним регистром перед сопоставлением.

Пример:

if(sourceString.ToUpper().Contains(stringToFind.ToUpper())) { // string is found } Ответ №3

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

Ответ №4string myString = «someTextorMaybeNot»; myString.ToUpper().Contains( «text».ToUpper() );

Оцените статью
Добавить комментарий