Есть ли способ использовать регулярное выражение, содержащее переменные, для замены символов в строке

#java #regex #replace

#java #Регулярное выражение #заменить

Вопрос:

У меня уже есть код s.replaceFirst("\.", ""); . Это заменяет точку в заданных строках. Но моя проблема в том, что он должен иметь возможность изменять то, что будет заменено. Например, программа теперь должна заменить знак вопроса. Я попытался сделать это следующим образом:

 String characterToReplace = "?";
s = s.replaceFirst("\"   characterToReplace, "");
 

Но это просто создает ошибки.

Комментарии:

1. Какую ошибку это создает?

2. Ваш код отлично сработал для меня. С какой именно проблемой вы столкнулись?

Ответ №1:

Попробуйте использовать Pattern.quote , обсуждаемый здесь:

 import java.util.regex.Pattern;

// ...

String characterToReplace = "?";
s = s.replaceFirst(Pattern.quote(characterToReplace), "");