我有以下 Java 代码:
str = str.replaceAll("<.*?>.*?</.*?>|<.*?/>", "");
这会像这样变成一个字符串:
How now <fizz>brown</fizz> cow.
进入:
How now cow.
但是,我希望它只剥离 <fizz>
和 </fizz>
标签,或者只是独立的 </fizz
> 标签,并保留元素的内容。因此,一个正则表达式可以将上面的内容变成:
How now brown cow.
或者,使用一个更复杂的字符串,它会变成:
How <buzz>now <fizz>brown</fizz><yoda/></buzz> cow.
进入:
How now brown cow.
我试过这个:
str = str.replaceAll("<.*?></.*?>|<.*?/>", "");
那根本行不通。有任何想法吗?提前致谢!
最佳答案
"How now <fizz>brown</fizz> cow.".replaceAll("<[^>]+>", "")
关于Java 正则表达式去除 XML 标签,但不去除标签内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15769028/