Получение отдельных символов строки


Метод charAt(int i) возвращает символ строки с индексом i. Индекс первого символа строки – 0 (т.е. символы строки индексируются (нумеруются) аналогично элементам массива. Например:

char ch = S.charAt(2); // Переменная ch будет иметь значение 'и'

Метод toCharArray() преобразует строку в массив символов:

char[] ch = S.toCharArray(); // ch будет иметь представлять собой массив {'П','р','и','в','е','т',' ',',',' ','м','и','р','!'}

Метод getChars(int begin, int end, char dst[], int i) берет символы строки, имеющие индексы от begin доend-1 включительно, и помещает их в массив dst, начиная с индекса i, и выдает получившийся массив в качестве результата. Например:

char[] ch = {'М','а','с','с','и','в','.'};

ch = S.getChars(1, 4, ch, 3); // Теперь ch = {'М','а','р','и','в','в','.'}

Замена отдельного символа

Метод replace(int old, int new) возвращает новую строку, в которой все вхождения символа old заменены на символ new.

String SS = S.replace('и', 'ы'); // SS = "Прывет, мыр!"

Получение подстроки

Метод substring(int begin, int end) возвращает фрагмент исходной строки от символа с индексом begin до символа с индексом end-1 включительно. Если не указывать end, будет возвращен фрагмент исходной строки, начиная с символа с индексом begin и до конца:

String S2 = S.substring(4,7); // S2 = "ет,"

S2 = S.substring(4); // S2 = "ет, мир!"

Разбиение строки на подстроки

Метод split(String regExp) разбивает строку на фрагменты, используя в качестве разделителей символы, входящие в параметр regExp, и возвращает ссылку на массив, составленный из этих фрагментов. Сами разделители ни в одну подстроку не входят.

String parts[] = S.split(" "); // Разбили строку S на отдельные слова, используя пробел в качестве разделителя, в результате получили массив parts, где parts[0] = "Привет,", а parts[1] = "мир!"

String parts[] = S.split(" и"); // Разбили строку S на отдельные слова, используя в качестве разделителя пробел и букву и, в результате parts[0] = "Пр", parts[1] = "вет,", parts[2] = "м", parts[3] = "р!"

Сравнение строк

Если сравнивать строки, используя логическую операцию ==, то ее результатом будет true только в том случае, если строковые переменные указывают (ссылаются) на один и тот же объект в памяти.

Если же необходимо проверить две строки на совпадение, следует использовать стандартный метод equals(Object obj). Он возвращает true, если две строки являются полностью идентичными вплоть до регистра букв, и false в противном случае. Его следует использовать следующим образом:

S1.equals(S2); // Вернет true, если строки S1 и S2 идентичны

S2.equals(S1); // Абсолютно то же самое

boolean b = S.equals("Привет, мир!"); // b = true

Метод equalsIgnoreCase(Object obj) работает аналогично, но строки, записанные в разных регистрах, считает совпадающими.

Поиск подстроки

Метод indexOf(int ch) возвращает индекс первого вхождения символа ch в исходную строку. Если задействовать этот метод в форме indexOf(int ch, int i), то есть указать два параметра при вызове, то поиск вхождения начнется с символа с индексом i. Если такого символа в строке нет, результатом будет -1.

int pos = S.indexOf('в'); // pos = 3

pos = "Вася".indexOf('с'); // pos = 2

pos = "Корова".indexOf('о', 2); // pos = 3

pos = "Корова".indexOf('К', 2); // pos = -1, поиск ведется с учетом регистра

Последнее вхождение символа можно найти с помощью метода lastIndexOf(int ch) или lastIndexOf(int ch, int i), который работает аналогично, но просматривает строку с конца.

У всех перечисленных методов есть одноименные варианты, которые принимают в качестве параметра строку вместо символа и проверяют, содержится ли эта строка в исходной строке.

pos = "Корова".indexOf("ор"); // pos = 1

pos = "Барабанщик барабанил в барабан".indexOf("барабан", 5); // pos = 11

pos = "Корова".indexOf("Вася"); // pos = -1



Дата добавления: 2017-01-26; просмотров: 1653;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.