Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
29 Май 2023
2 мин
1090

Проверка наличия подстроки в строке без учета регистра в Java

Одна из распространенных задач в программировании на языке Java — проверка наличия подстроки в строке без учета регистра символов. Допустим, есть

Одна из распространенных задач в программировании на языке Java — проверка наличия подстроки в строке без учета регистра символов. Допустим, есть две строки:

String str1 = "ПрИвЕт, МиР";
String str2 = "привет";

Необходимо выяснить, содержится ли строка str2 в строке str1, не обращая внимания на то, написаны ли буквы в верхнем или нижнем регистре.

В Java есть встроенный метод contains(), который проверяет, присутствует ли указанная последовательность символов в этой строке. Однако, этот метод чувствителен к регистру. Это означает, что он вернет false, если регистр символов в подстроке не совпадает с регистром символов в исходной строке.

return str1.contains(str2);  // вернет false

Один из способов решения этой проблемы — привести обе строки к одному регистру перед сравнением. Обычно обе строки приводят к нижнему регистру с помощью метода toLowerCase():

return str1.toLowerCase().contains(str2.toLowerCase());  // вернет true

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

return str1.matches("(?i).*" + str2 + ".*");  // вернет true

В этом примере (?i) — это флаг, который делает сравнение без учета регистра, а .* — это символы, которые могут быть перед и после str2.

Таким образом, в Java существуют различные способы проверки наличия подстроки в строке без учета регистра. Выбор метода зависит от конкретной задачи и предпочтений программиста.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий