Строка заменить в соответствии с положением?

1

У меня есть эта String 11101011.I хочу заменить последние три символа '011' на 101.Есть ли какая-либо функция String в java для этого?

Теги:
string
replace

3 ответа

2

Используйте функцию string.replaceAll.

string.replaceAll(".{3}$", "101");

.{3} соответствует ровно три символа и $ утверждает, что за соответствием должен следовать конец строки.

Пример:

String name = "11101011";
String result = name.replaceAll(".{3}$", "101");
System.out.println(result);

Вывод:

11101101
2

Использование 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);
0

Использовать метод замены класса String

String s="11101011";
System.out.println(s.replace("011","101"));

O/P: 11101101

  • 0
    Это заменит любое вхождение "011" а не только последнее. Если OP использует другую строку, это может привести к сбою.
  • 0
    Да, это не общее решение, а решение вопроса ОП

Ещё вопросы

Сообщество Overcoder
Наверх
Меню