String container = " Case SeNsitive ";
String sub = "sen";
if (rcontains(container, sub)) {
System.out.println("no case");
}
public static Boolean rcontains(String container, String sub) {
Boolean b = false;
for (int a = 0; a < container.length() - sub.length() + 1; a++) {
//System.out.println(sub + " to " + container.substring(a, a+sub.length()));
if (sub.equalsIgnoreCase(container.substring(a, a + sub.length()))) {
b = true;
}
}
return b;
}
По сути, это метод, который принимает две строки. Предполагается, что это версия с учетом регистра (не чувствительная к регистру). При использовании метода contains вы хотите увидеть, содержится ли одна строка в другой.
Этот метод берет строку, которая является «sub», и проверяет, равна ли она подстрокам строки контейнера, длина которых равна «sub». Если вы посмотрите на цикл for
, вы увидите, что он перебирает подстроки (которые являются длиной "sub") над строкой контейнера.
Каждая итерация проверяет, является ли подстрока строки контейнера equalsIgnoreCase
в подпункте.