正则表达式删除两个字符之间的子字符串

问题描述:

我想从我的正则表达式字符串中删除<>之间的任何东西,包括(<>)。这里有几个例子。正则表达式删除两个字符之间的子字符串

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来实现它。

尝试使用正则表达式:

<.*?> 

例如:

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

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

-1这不起作用。你为什么在你的正则表达式中有第一个和最后一个? – dogbane 2012-01-06 13:43:58

+0

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

给这个代码段一试!

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]);