Учебное пособие: Наследование и классы-коллекции
Кодировки русских букв:
‘А’ ~ 1040 ~ \u410
‘Я’~ 1071 ~ \u42F
‘а’ ~ 1072 ~ \u430
‘я’ ~ 1103 ~ \u44F
Как найти символ в строке
Поиск всегда ведется с учетом регистра букв.
Первое появление символа ch в данной строке this можно отследить методом indexOf(int ch), возвращающим индекс этого символа в строке или -1, если символа ch в строке this нет.
Например, "Молоко", indexOf('о') выдаст в результате 1.
Второе и следующие появления символа ch в данной строке this можно отследить методом indexOf(int ch, int ind).
Этот метод начинает поиск символа ch с индекса ind. Если ind < 0, то поиск идет с начала строки, если ind больше длины строки, то символ не ищется, т. е. возвращается -1.
Последнее появление символа ch в данной строке this отслеживает метод lastIndexof(int ch). Он просматривает строку в обратномпорядке. Если символ ch не найден, возвращается.-1.
Предпоследнее и предыдущие появления символа ch в данной строке this можно отследить методом lastIndexof(int ch, int ind), который просматривает строку в обратном порядке, начиная с индекса ind.
Если ind больше длины строки, то поиск идёт от конца строки, если ind < 0, то возвращается -1.
Как найти подстроку
Поиск всегда ведется с учетом регистра букв.
Первое вхождение подстроки sub в данную строку this отыскивает метод indexof(String sub). Он возвращает индекс первого символа первого вхождения подстроки sub в строку или -1, если подстрока sub не входит в строку this.
Если вы хотите начать поиск не с начала строки, а с какого-то индекса ind, используйте метод indexOf (String sub, int ind). если ind < 0, то поиск идет с начала строки, если ind больше .длины строки, то символ не ищется, т. е. возвращается -1.
Последнее вхождение подстроки sub в данную строку this можно отыскать методом lastindexof (stringsub), возвращающим индекс первого символа последнего вхождения подстроки sub в строку this или (-1), если подстрока sub не входит в строку this.
Последнее вхождение подстроки sub не во всю строку this, а только в ее начало до индекса ind можно отыскать методом lastIndexof(String stf, int ind). Если ind больше длины строки, то поиск идет от конца строки, если ind < 0, то возвращается -1.
Перечисленные выше методы создают исключительную ситуацию, если
sub == null.
Если вы хотите осуществить поиск, не учитывающий регистр букв, измените предварительно регистр всех символов строки.
Как изменить регистр символов
Метод toLowerCase() возвращает новую строку, в которой все буквы переведены в нижний регистр, т. е. сделаны строчными.
Метод toUpperCase () возвращает новую строку, в которой все буквы переведены в верхний регистр, т. е. сделаны прописными.
При этом используется локальная кодовая таблица по умолчанию. Если нужна другая локаль, то применяются методы toLowerCase(Localeloc) и toUpperCase(Locale loc).
Как заменить отдельный символ
Метод replace (int old, int new) возвращает новую строку, в которой все вхождения символа old заменены символом new. Если символа old в строке нет, то возвращается ссылка на исходную строку.