0

我想找到匹配的替换部分。

例子:

this is awesome look at this two letter words get replaced

回报将是

this <h1>is</h1> awesome look <h1>at</h1> this two letter words get replaced

请注意如何替换匹配正则表达式的isat哪个匹配。\b\w\w\b

这是我正在处理的代码。它还没有完成,但我只是有点困惑,想知道是否有更简单的方法。我正在搜索字符串并找到匹配项。然后我将它添加到一个 ArrayList 并替换每个。问题是我要替换的一件事是{,我想用{{}

现在看一下,这将不断替换括号,因为我不断添加它们......所以我的另一个想法是逐个字符地替换它们并添加到新的 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;
4

1 回答 1

1

我真的不明白您的代码如何解决您上面解释的要求...

也就是说,通过使用 JAVA 的方法来完成这种工作似乎是一种更简单的replaceAll方法,通常用于两个字母的单词:

"this is awesome look at this two letter words get replaced"
.replaceAll("(\\b\\w{2}\\b)", "<h1>$1</h1>");

这打印:

this <h1>is</h1> awesome look <h1>at</h1> this two letter words get replaced
于 2013-04-16T07:38:39.483 回答