есть текст hh.sds.ds.rr, нужно его обрезать от . до rr, получится .rr, но когда я делаю через indexOf, то он находит самую первую точку и все .sds, а мне нужно чтобы он самую последнюю брал, как это сделать? И да, текст все время изменяется, поэтому нужно , чтобы он искал самую последнюю точку
Используйте метод 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"
}
Вообще насколько я знаю у метода subString нужно указать начальный индекс и конечный. То есть типа такого:
public String substring(int beginIndex, int endIndex)
стартовым индексом будет индекс точки, а конечным будет последний индекс точки lastIndexOf(String str). То есть вы будете обрезать до точки перед буквой r. Не уверен что совсем идеальное решение, но должно делать то что вам нужно. Документация
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости