2011-02-16 40 views
1

我目前正在開發一個使用Java EE的Web應用程序,我正在使用Rich-Javascript-Editor(http://www.primefaces.org/showcase/ui/editor.jsf )。 由於用戶可以輕鬆地添加太多換行符並將其轉換爲換行符,我需要從字符串末尾刪除所有這些標籤。Cut <br/> -Tags from String end

有沒有使用正則表達式來完成這個優雅的方式?

的示例串是:

"This is a test <b>bold</b><br/><br/>" 

顯然在哪裏最後兩個標籤必須除去。

預先感謝您的任何幫助

最好的問候, 羅伯特

回答

6

事情是這樣的:

String s = "This is a test <b>bold</b><br/><br/>"; 
String s2 = s.replaceAll("(\\s*<[Bb][Rr]\\s*/?>)+\\s*$", ""); 
// s2 = "This is a test <b>bold</b>"; 

注意,它也將刪除尾隨空白;如果你不想要,你可以刪除最後的\\s*

+0

用「replaceAll」代替「替換」,這個工作非常完美,非常感謝! – 2011-02-16 23:41:21

3

下面是Java代碼的簡單線從字符串myString的最後刪除的子"<br/>"的所有實例:

myString = myString.replaceAll("(<br/>)+$", ""); 
0

試試這個one.Its我

myString =myString .replaceAll("<br/>", ""); 
0

工作這應該對大多數情況都有效。

此正則表達式認爲最,其中用於<br>不同的形式出現

場景以下所有條件都有效<br>聲明:

-<br> 
-<br/> 
-<br /> 
-<br/> 
-<br/ > 
-<br //// > 

此正則表達式識別所有這些形式的<br>

string = string.replaceAll("<br[\\s/]*>", ""); 
+0

爲您的答案提供解釋 – 2017-09-11 08:36:38