GmGameFilm
@GmGameFilm
Novice Java-programmer

Как реализовать метод так, чтобы он заменял одно слово на другое?

Дали мне задачу, суть которой - заменить все вхождения слова "бяка" на *вырезано цензурой*.

Во время выполнения задачи я столкнулся с следующей проблемой: Класс String immutable (неизменяемый). Из-а этого, когда String-переменной присваивают значение, полученное из метода next() в классе Scanner (java.util, в конструктор был передан параметр System.in) и при вызове на переменной метода replaceAll(String a, String b) (Класс String, java.lang) в результате получается ничего. Если на вход дам "ты бяка", выйдет "ты ".

Попробовал использовать класс StringBuffer, но там методы заменяют только по индексам, а мне нужно, чтобы оно нашло это слово и заменило, не в зависимости от того, по какому индексу оно расположено.

Вопрос: Как нужно реализовать метод, чтобы он в результате выдал замененную "бяку"?
  • Вопрос задан
  • 515 просмотров
Решения вопроса 1
EugeneP2
@EugeneP2
Java Dev
Метод класс String replaceAll возвращает новый объект String с выполненными изменениями.

String textAfterCensure = textBeforeCensure.replaceAll("бяка", "*");
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MoonMaster
Программист и этим все сказано
Если мне не изменяет память, то существует прекрасный метод Replace All, который получает на вход паттерн и заменитель ( на что необходимо заменить). После этого он возвращает String.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы