用单词本身替换标签之间的单词

时间:2015-10-28 23:59:11

标签: java regex string replace tags

我需要转换一个字符串:

Hi, I am a [l=BANANA]

为:

Hi, I am a BANANA

我不是正则表达式的专家,所以我尝试在我的案例中修改一些例子,但似乎没有什么工作正常。

1 个答案:

答案 0 :(得分:0)

尝试使用正则表达式:

\[l=([^\]]+)\]

DEMO

它匹配前面带有l=的单词,在方括号内。然后你可以用捕获的组1(在parathesis ([^\]]+)中捕获的正则表达式部分)来填充它。如果可以使用l=以外的其他序列,例如\[\w+=(\w+)\],则结果应该相同。

Java实现:

String test = "Hi, I am a [l=BANANA SPLIT]";
test = test.replaceAll("\\[l=([^]]+)]","$1");
System.out.println(test);

带输出:

Hi, I am a BANANA SPLIT