Java заменяет сопоставленное регулярное выражение
Извините, мне пришлось переписать этот вопрос, я был в процессе его завершения, и кто-то закрыл его. они не были достаточно любезны, чтобы объяснить, почему я должен был сделать репост? пожалуйста, сообщите мне, что смущает.
Главное замечание: я хочу заменить совпадение с регулярным выражением частью совпадения, поэтому, если я регулярное выражение hi, я хочу заменить его на {hi}, если совпадение с регулярным выражением at, я хочу заменить на {at}
это удивительный взгляд на эти две буквы слова заменяются возврат будет
this <h1>is</h1> awesome look <h1>at</h1> this two letter words get replaced
обратите внимание на то, как и в котором будет соответствовать регулярное выражение \b\w\w\b будет соответствовать заменено
это код, над которым я работал... не судите, что он еще не закончен, но я просто немного смущен и задаюсь вопросом, есть ли более легкий путь. я искал строку и находил совпадения, а потом собирался пойти к массиву и заменить каждого. Проблема заключается в том, что я заменяю одну вещь {и я хочу заменить ее {{}, теперь это будет постоянно заменять скобки, потому что я продолжаю добавлять их... так что моей другой мыслью было заменить их всех один за другим символ за символом и добавить в новый StringBuilder
объект?
ArrayList<String> replacements= new ArrayList<String>();
String s="::";
s+=command;
Pattern p= Pattern.compile("[!-~]");
Matcher match= p.matcher(this.execution);
while(match.find()){
replacements.add(match.group());
}
StringBuilder string= new StringBuilder();
for(int i=0;i<this.execution.length();i++){
String a=new String(execution.charAt(i));
if(...){
...
}
}
s+="::"+this.execution;
1 ответ
Пытаться
str = str.replaceAll("(\\b\\w\\w\\b)", "<h1>$1</h1>");