Иллюстрированный самоучитель по Java
Как
найти подстроку
Поиск всегда ведется с учетом регистра
букв.
Первое вхождение подстроки
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.
Если вы хотите осуществить поиск,
не учитывающий регистр букв, измените предварительно регистр всех символов строки.