Надо обрезать до определенной точки

103
31 декабря 2021, 01:20

есть текст hh.sds.ds.rr, нужно его обрезать от . до rr, получится .rr, но когда я делаю через indexOf, то он находит самую первую точку и все .sds, а мне нужно чтобы он самую последнюю брал, как это сделать? И да, текст все время изменяется, поэтому нужно , чтобы он искал самую последнюю точку

Answer 1

Используйте метод lastIndexOf(char):

public static void main(String[] args) {
    String str = "hh.sds.ds.rr";
    String result = str.substring(str.lastIndexOf('.'));
    System.out.println(result); // ".rr"
}
Answer 2

Вообще насколько я знаю у метода subString нужно указать начальный индекс и конечный. То есть типа такого:

public String substring(int beginIndex, int endIndex)

стартовым индексом будет индекс точки, а конечным будет последний индекс точки lastIndexOf(String str). То есть вы будете обрезать до точки перед буквой r. Не уверен что совсем идеальное решение, но должно делать то что вам нужно. Документация

READ ALSO
Каковы различия между ByteArrayInputStream и ByteArrayOutputStream?

Каковы различия между ByteArrayInputStream и ByteArrayOutputStream?

Вроде бы в оба можно записывать, вроде бы из обоих можно читатьВ чем их различия?

140
ViewPager загружает не все фрагменты

ViewPager загружает не все фрагменты

В активити есть виджет ViewPager, у viewpager'a есть адаптер FragmentPagerAdapter, который принимает список из 4 одинаковых фрагментов, но с разными аргументами

176
No JDK specified

No JDK specified

Я пытаюсь запустить проект maven в среде intelij idea comunity 2019Данный проект является веб-приложением которое использует фреймворк spring

235
Работа с паттерном Repository

Работа с паттерном Repository

Распространенная задача, получение данныхНапример, получаю данные о профиле с сервера

162