如果字符串与正则表达式连续出现超过1,如何从字符串中删除单词

时间:2011-03-03 17:43:05

标签: java regex

如果连续出现多次,我想删除"<br>"这个词。示例

"word word <br><br>"变为"word word <br>"

"word <br><br><br> word <br><br>"变为"word <br> word<br>"

我想使用替换或替换所有可能的东西,以保持简短

3 个答案:

答案 0 :(得分:6)

  

我想使用替换或替换所有可能的短路

当然,这是可能的:

yourString = yourString.replaceAll("(<br>)+", "<br>");

它基本上意味着用<br>替换所有<br>一次或多次”

答案 1 :(得分:1)

此代码适用于最简单的情况:

str.replaceAll("(<br>)+", "<br>");

但是如果你想要替换所有br(不区分大小写+忽略空格),例如:

my word <BR>  <BR> blah blah -> my word <br> blah blah

我建议你:

str.replaceAll("(?i)(<br>(\\s)*)+", "<br>")

答案 2 :(得分:0)

只有当模式出现多次时,才能编写与模式匹配的正则表达式。