【问题标题】:Replace word between tags with the word itself用单词本身替换标签之间的单词
【发布时间】:2015-10-28 23:59:10
【问题描述】:

我需要转换一个字符串:

Hi, I am a [l=BANANA]

到:

Hi, I am a BANANA

我不是正则表达式专家,因此我尝试根据我的情况调整一些示例,但似乎没有任何效果。

【问题讨论】:

  • 什么例子?请分享。
  • 您是专门想替换[l=...] 还是只是替换[anything=...]

标签: java regex string replace tags


【解决方案1】:

尝试使用正则表达式:

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

DEMO

它匹配方括号内以l= 开头的单词。然后,您可以使用捕获的第 1 组(在括号([^\]]+) 捕获的正则表达式部分)对其进行处理。如果可能有另一个序列而不是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

【讨论】:

  • 它运行良好,但是......我还需要将由空格分隔的单词替换为 [l=BANANA SPLIT] 到 BANANA SPLIT
  • @user2468425 尝试使用\[l=([^\]]+)\],只要您想要从= 到括号结尾的所有内容,它应该可以工作
猜你喜欢
  • 2019-02-07
  • 2011-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-27
  • 2018-09-05
  • 2011-03-31
  • 1970-01-01
相关资源
最近更新 更多