По существу мне нужно написать строковый метод, который получает два строковых аргумента и заменяет каждый символ, который существует во второй строке с «» в первом. Например, первые String toBeFixed = "I have a wonderful AMD CPU. I also like cheese."
и второй String toReplaceWith ="oils"
. The string returned would be "I have a wnderfu AMD CPU. I a ke cheee."
Замена символов в строке с каждым символом из другого строка
Вот что я получил:
public class removeChars
{
public static String removeChars(String str, String remove)
{
String fixed = str.replaceAll(remove,"");
return(fixed);
}
}
Я не уверен, если это непонимание того, как метод replaceAll используется, как я видел такие вещи, как
str = str.replaceAll("[aeiou]", "");
В идеале я бы нашел способ бросить свою вторую строку (remove)
, а затем сделать с ней, но я не уверен, что это возможно. Я чувствую, что это немного более сложная проблема ... Я не знаком с Array Lists, и кажется, что неизменность строк может вызвать некоторые проблемы для меня.
Этот метод должен иметь возможность обрабатывать строки любого введенного значения. Любая помощь или руководство были бы очень оценены!
работы, как мне нужно было. Спасибо, я не уверен, что понимаю, почему этот синтаксис работает. Какую цель здесь выполняет конкатенация? – supertommy
Как я уже сказал, 'replaceAll' принимает в качестве входного выражения выражение [регулярное выражение] (http://www.regular-expressions.info/java.html) (regex). Синтаксис Regex таков, что скобки обозначают возможный набор символов - любой другой набор немодифицированных символов является литералом. Эта ссылка заслуживает хорошего чтения. Regex является мощным и полезным. – Zyerah