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

15
我想用正则表达式从我的字符串中删除包括 (<>) 在内的任何东西,以下是几个例子。 Hi<friends>and<family> 应该给出 Hiand <Rekha Verma>rekha@gmail.com 然后应该给出 rekha@gmail.com Reva Patel 应该给出 Reva Patel <Reva Patel>revapatel@gmail.com,<rekha Verma>rekha@gmail.com 应该给出 revapatel@gmail.com,rekha@gmail.com 请问有谁能为我提供一个这样的正则表达式?我需要在Java中实现它。
3个回答

32

尝试使用正则表达式:

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

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

-1 这样行不通。为什么你的正则表达式开头和结尾有 /? - dogbane
我也遇到了同样的问题。我正在使用 VSCode。 - muhammad tayyab

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接