正则表达式如何删除字符串中的最后一个“<br/>”

时间:2011-03-08 14:55:46

标签: java regex

如何从带有replace()或replaceAll()的字符串中删除最后一个<br>

<br>来自<br>或单词

我的想法是在字符串的末尾添加一个字符串然后它将是<br> +我添加的字符串

我怎么能替换呢?

4 个答案:

答案 0 :(得分:3)

Regexp可能不是这类任务的最佳选择。还要检查此类似question的答案。
正在寻找<br>您还可以找到<BR><br />

String str = "ab <br> cd <br> 12";
String res = str.replaceAll( "^(.*)<br>(.*)$", "$1$2" );
// res = "ab <br> cd 12"

答案 1 :(得分:3)

如果您尝试替换最后一个可能不是字符串中最后一个内容的<br />,您可以使用类似的内容。

String replaceString = "<br />";
String str = "fdasfjlkds <br /> fdasfds <br /> dfasfads";
int ind = str.lastIndexOf(replaceString);
String newString = str.substring(0, ind - 1)
        + str.substring(ind + replaceString.length());
System.out.println(newString);

输出

fdasfjlkds <br /> fdasfds> dfasfads

当然,你必须添加一些检查以避免NPE。

答案 2 :(得分:1)

不使用replace,但在没有正则表达式的情况下执行您想要的操作:

String s = "blah blah <br>";

if (s.endsWith("<br>")) {
   s = s.substring(0, s.length() - 4);
}

答案 3 :(得分:1)

使用正则表达式,它将是:

theString.replaceAll("<br>$", "");