В классе String есть булевский метод regionMatches, который сравнивает
подстроку одной строки с подстрокой другой строки.
Метод используется достаточно редко(я на практике использовал только один раз), но
данный метод достаточно интересен.

Есть целых два таких метода.

Первый — зависит от регистра, второй — нет.

Зависит от регистра

 public boolean regionMatches(int toffset, String other, int ooffset, int len)

toffset — с этой позиции мы начинаем отсчет для строки 1.
other — другая строка
ooffset — позиция для другой строки
len — количество символов, которые мы сравниваем.

Пример:

String a = "Мама мыла раму";
String b = "А раму мыла мама";
		 	
System.out.println(a.regionMatches(10, b, 2, 4));

Есть две строки.
Для первой строки мы отсчитываем 10 позиций и берем 4 символа, для второй строки берем 4 символа со второй позиции.
Т.е. получается, что мы сравниваем слова «раму» с первой и второй строки — строки равны между собой, значит результат
true.

Метод

public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 

Точно такой же, только здесь есть пареметр ignoreCase, который позволяет игнорировать регистр.

Реклама