Как реализовать метод так, чтобы он заменял одно слово на другое?
Дали мне задачу, суть которой - заменить все вхождения слова "бяка" на *вырезано цензурой*.
Во время выполнения задачи я столкнулся с следующей проблемой: Класс String immutable (неизменяемый). Из-а этого, когда String-переменной присваивают значение, полученное из метода next() в классе Scanner (java.util, в конструктор был передан параметр System.in) и при вызове на переменной метода replaceAll(String a, String b) (Класс String, java.lang) в результате получается ничего. Если на вход дам "ты бяка", выйдет "ты ".
Попробовал использовать класс StringBuffer, но там методы заменяют только по индексам, а мне нужно, чтобы оно нашло это слово и заменило, не в зависимости от того, по какому индексу оно расположено.
Вопрос: Как нужно реализовать метод, чтобы он в результате выдал замененную "бяку"?
Я это знаю и об этом я написал. ТО, ЧТО ТЫ НАПИСАЛ - НЕРАБОТАЕТ! Мне нужно, чтобы при вводе текста (ты бяка, аха, ты бяка) все бяки заменило. В итоге получаю пустоту.
Eugene: у меня тоже все заработало, но, только после того, как я убрал все пробелы в предложении. Напоминаю, что я заношу значение в String при помощи метода next(); класса Scanner.
Если мне не изменяет память, то существует прекрасный метод Replace All, который получает на вход паттерн и заменитель ( на что необходимо заменить). После этого он возвращает String.