У меня есть эта String 11101011.I хочу заменить последние три символа '011' на 101.Есть ли какая-либо функция String в java для этого?
Используйте функцию string.replaceAll
.
string.replaceAll(".{3}$", "101");
.{3}
соответствует ровно три символа и $
утверждает, что за соответствием должен следовать конец строки.
Пример:
String name = "11101011";
String result = name.replaceAll(".{3}$", "101");
System.out.println(result);
Вывод:
11101101
Использование String replace и регулярных выражений для этой задачи похоже на нарушение бабочек на колесе - просто вырезать последние три символа и добавить новый суффикс (в конечном счете, подробное решение):
final String oldString = "11101011";
final String oldSuffix = oldString.substring(5);
final String reducedOldString = oldString.substring(0, oldString.length() - oldSuffix.length());
final String newSuffix = "101";
final String newString = reducedOldString.concat(newSuffix);
System.out.println("newString = " + newString);
Использовать метод замены класса String
String s="11101011";
System.out.println(s.replace("011","101"));
O/P: 11101101
"011"
а не только последнее. Если OP использует другую строку, это может привести к сбою.