Сегодня мы рассмотрим пример использования метода regionMatches
класса String в Java. Мы уже разбирали часто используемые методы substring() и split() класса String, но теперь перейдем к другим интересным, но редко используемым.
Метода regionMatches в Java. Теория
Метод regionMatches
используется для сравнения подстроки одной строки с подстрокой другой строки, то есть сравниваются части строк и возвращается результат этого сравнения — true
(если части строк совпали) или false
(не совпали).
В Java классе String реализовано 2 перегруженных метода regionMatches:
Регистрочувствительный метод:
1 |
public boolean regionMatches(int toffset, String other, int ooffset, int len) |
и метод с игнорированием регистра:
1 |
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) |
Они принимают одинаковые параметры, за исключением первой булевой переменной, которая отвечает за регистр.
Сигнатура метода regionMatches
- ignoreCase — логическая переменная со значение
true
— игнорировать регистр, со значениемfalse
— не игнорировать регистр. - toffset — позиция, с которой начнем отсчет.
- other — другая строка, часть которой мы будем сравнивать.
- ooffset — позиция, с которой начнем отсчет в строке other
- len — количество символов для сравнения
Смотрите ниже, на примере будут проще.
Пример использования метода regionMatches в Java
Давайте рассмотрим простой пример сравнивания частей строк:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class RegionMatchesTest { public static void main(String[] args) { String firstString = "Метод regionMatches сравнивает части строк"; String secondString = "В Java есть метод regionmatches"; System.out.println("Равны ли части строк без учета регистра? - " + firstString.regionMatches(6, secondString, 18, 13)); // указываем true первым параметром, // чтобы Java не игнорировала регистр System.out.println("Равны ли части строк с учетом регистра? - " + firstString.regionMatches(true, 6, secondString, 18, 13)); } |
Давайте посмотрим, что здесь происходит:
У нас 2 строки, в одной из которых слово есть regionMatches с большой M, а в другой с маленькой m.
В первом случае мы говорим: Java, отсчитай 6 знаков с начала первой строки и 18 знаков с начала второй строки, а теперь сравни следующие 13 символов от только что указанных символов в этих строках.
После запуска этого кода мы получим:
1 2 |
Равны ли части строк без учета регистра? - false Равны ли части строк с учетом регистра? - true |
Во второй случае true, потому что мы захотели сравнить части строк без учета регистра.
Следите за обновлениями раздела Java для начинающих.