Как найти подстроку
Поиск всегда ведется с учетом регистра букв.
Первое вхождение подстроки
sub
в данную строку
this
отыскивает метод
indexof
(String sub).
Он возвращает индекс первого символа первого вхождения подстроки
sub
в строку или -1, если подстрока
sub
не входит в строку
this
. Например,
" Раскраска
".indexof ("рас")
даст в результате 4.
Если вы хотите начать поиск не с начала строки, ас какого-то индекса
ind
, используйте метод
indexOf (String sub, int ind).
если i
nd < 0
, то поиск
идет с начала строки, если
ind
больше .длины строки, то символ не ищется, т. е. возвращается -1.
Последнее вхождение подстроки
sub
в данную строку
this
можно отыскать методом
lastindexof
(
string
sub
), возвращающим индекс первого символа последнего вхождения подстроки
sub
в строку
this
или (-1), если подстрока
sub
не входит в строку
this
.
Последнее вхождение подстроки
sub
не во всю строку
this
, а только в ее начало до индекса
ind
можно отыскать методом l
astIndexof(String stf, int ind
). Если
ind
больше длины строки, то .поиск идет от конца строки, если
ind < о
, то возвращается -1.
Для того чтобы проверить, не начинается ли данная строка
this
с подстроки
sub
, используйте логический метод
startsWith(string
sub)
, возвращающий
true
, если данная строка
this
начинается с подстроки
sub
, или совпадает с ней, или подстрока
sub
пуста.
Можно проверить и появление подстроки
sub
в данной строке
this
, начиная с некоторого индекса
ind
логическим методом s
tartsWith(String sub),int ind).
Если индекс
ind
отрицателен или больше длины строки,
возвращается
false
.
Для того чтобы проверить, не заканчивается ли данная строка
this
подстрокой
sub
, используйте логический метод
endsWitht(String sub)
. Учтите, что он возвращает
true
, если подстрока
sub
совпадает со всей строкой или подстрока
sub
пуста.
Например,
if (fileName.endsWith(". Java"))
отследит имена файлов с исходными текстами Java.
Перечисленные выше методы создают исключительную ситуацию, если
sub == null.
Если вы хотите осуществить поиск, не учитывающий регистр букв, измените предварительно регистр всех символов строки.