Класс String предоставляет два метода, которые позволяют выполнять поиск указанного символа или подстроки внутри строки:
indexOf() – Поиск первого вхождения символа или подстроки
lastIndexOf() – Поиск последнего вхождения символа или подстроки.
В качестве аргумента в скобках можно указывать как один символ, так и подстроку. Эти методы возвращают индекс того элемента строки, в котором символ или подстрока были найдены. При неудачном поиске возвращается -1.
String s1 = "Hello";
System. out. println(s1.indexOf('l')); // выведет 2
System. out. println(s1.indexOf("lo")); // выведет 3
Изменение строки
Поскольку String-объекты неизменяемы, всякий раз, когда вы хотите изменить String-объект, нужно или копировать его в StringBuffer (StringBuilder), или использовать один из следующих методов, которые создадут и вернут новую копию строки с вашими модификациями. Эту новую копию можно либо присвоить новой переменной строки, либо присвоить исходной переменной, то есть заменить начальную строку.
· Метод substring()
Этот метод позволяет извлечь подстроку из исходной строки. Он имеет две формы:
|
|
String substring(int startIndex)
String substring(int startIndex, in endIndex)
Первая форма извлекает часть строки, начинающуюся с индекса startIndex и до конца строки. Вторая форма позволяет указать начальный и последний символ подстроки. Символ с конечным индексом не включается в подстроку.
Пример:
String s = "Привет мир!";
String s2 = s.substring(0, 6);
System. out. println(s); // s все еще указывает на "Привет мир"
System. out. println(s2); // Выведет "Привет"
s = s.substring(7); // Теперь s указывает на “мир!”
System. out. println(s);
Вывод в консоль:
Привет мир!
Привет
мир!
· Метод replace()
Этот метод заменяет все вхождения одного символа в строке другим символом:
String s1 = "Hello";
s1 = s1.replace('l', 'w'); // теперь s1 = “Hewwo”
Изменение регистра символов в строке
Для изменения регистра символов в строке используются два метода:
toUpperCase() –преобразует все символы в верхний регистр
toLowerCase() - преобразует все символы в нижний регистр
String s = "Hello";
System. out. println(s.toUpperCase()); // выведет “HELLO”