— Дивись, що ще можна робити з підрядками:

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< /strong>!";
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) як рядок, який ми шукаємо, передається не просто рядок, а регулярний вираз. Але про це я розповім пізніше.