— Смотри, что еще можно делать с подстроками:

8) Как найти нужную подстроку в строке?

Методы indexOflastIndexOf позволяют искать строки в строках. Есть 4 вида таких методов:

Метод indexOf ищет в нашей строке указанную строку. Он может искать ее с начала строки или начиная с какого-то номера (второй метод). Если строка найдена – метод возвращает номер ее первого символа, если не найдена — возвращает -1

Метод(ы) Пример(ы)
int indexOf(String str)
String s = "Good news everyone!";
int index = s.indexOf("ne");
Результат:

index == 5
int indexOf(String str, int from)
String s = "Good news everyone!";
int index = s.indexOf("ne", 7);
Результат:

index == 16

Метод lastIndexOf ищет указанную строку в нашей строке с конца! Он может искать ее с самого конца строки или начиная с какого-то номера (второй метод). Если строка найдена – метод возвращает номер ее первого символа, если не найдена — возвращает -1.

Метод(ы) Пример(ы)
int lastIndexOf(String str)
String s = "Good news everyone!";
int index = s.lastIndexOf("ne");
Результат:

index == 16
int lastIndexOf(String str, int from)
String s = "Good news everyone!";
int index = s.lastIndexOf("ne", 15);
Результат:

index == 5

9) Как заменить часть строки на другую?

Для этого есть три метода.

Метод replace заменяет все вхождения определенного символа на другой.

Метод replaceAll заменяет все вхождения одной подстроки на другую.

Метод replaceFirst заменяет первое вхождение переданной подстроки на заданную подстроку.

Метод(ы) Пример(ы)
String replace(char oldChar, char newChar)
String s = "Good news everyone!";
String s2 = s.replace ('o', 'a');
Результат:

s2 == "Gaad news everyane!";
String replaceAll(String regex, String replacement)
String s = "Good news everyone!";
String s2 = s.replaceAll("ne", "_");
Результат:

s2 == "Good _ws everyo_!";
String replaceFirst(String regex, String replacement)
String s = "Good news everyone!";
String s2 = s.replaceFirst("ne", "_");
Результат:

s2 == "Good _ws everyone!";

Но тут нужно быть аккуратным. В двух последних методах (replaceAll&replaceFirst) в качестве строки, которую мы ищем, передается не просто строка, а регулярное выражение. Но об этом я расскажу позднее.