2012-01-06 204 views
9

我想從我的正則表達式字符串中刪除<>之間的任何東西,包括(<>)。這裏有幾個例子。正則表達式刪除兩個字符之間的子字符串

Hi<friends>and<family>它應該給Hiand

<Rekha Verma>[email protected]那麼它應該給[email protected]

Reva Patel它應該給Reva Patel

<Reva Patel>[email protected],<rekha Verma>[email protected]它應該給 [email protected],[email protected]

任何人都可以請給我一個正則表達式爲了這?我需要用Java來實現它。

回答

16

嘗試使用正則表達式:

<.*?> 

例如:

String s = "Hi<friends>and<family>"; 
System.out.println(s.replaceAll("<.*?>", "")); 
+0

感謝您的快速回答...它的工作.. – Ragini 2012-01-06 13:52:48

+0

@RaginiPatel,你應該[接受答案](http://meta.stackexchange.com/a/5235)你很滿意,並投票任何你認爲是好的/幫助你。 – Qtax 2012-01-06 14:09:12

4
String newStr = str.replaceAll("<[^>]*>", ""); 
+0

-1這不起作用。你爲什麼在你的正則表達式中有第一個和最後一個? – dogbane 2012-01-06 13:43:58

+0

@dogbane:對不起,使用PHP的反應。固定。 – 2012-01-06 13:45:13

0

給這個代碼段一試!

String str = "Hi<family>and</family>test";  

for (int i = 0; i < str.split("</?[a-z]+>").length; i++) 
    System.out.println(str.split("</?[a-z]+>")[i]); 
相關問題