Java正则表达式去除XML标签,但不剥离标签内容

IAm*_*aja 7 java regex xml string

我有以下Java代码:

str = str.replaceAll("<.*?>.*?</.*?>|<.*?/>", "");
Run Code Online (Sandbox Code Playgroud)

这会像这样变成一个String:

How now <fizz>brown</fizz> cow.
Run Code Online (Sandbox Code Playgroud)

成:

How now  cow.
Run Code Online (Sandbox Code Playgroud)

但是,我希望它只删除<fizz></fizz>标签,或者只是单独的</fizz>标签,并保留元素的内容.所以,一个正则表达式将上述变为:

How now brown cow.
Run Code Online (Sandbox Code Playgroud)

或者,使用更复杂的String,转变为:

How <buzz>now <fizz>brown</fizz><yoda/></buzz> cow.
Run Code Online (Sandbox Code Playgroud)

成:

How now brown cow.
Run Code Online (Sandbox Code Playgroud)

我试过这个:

str = str.replaceAll("<.*?></.*?>|<.*?/>", "");
Run Code Online (Sandbox Code Playgroud)

这根本不起作用.有任何想法吗?提前致谢!

Sam*_*num 33

"How now <fizz>brown</fizz> cow.".replaceAll("<[^>]+>", "")
Run Code Online (Sandbox Code Playgroud)


The*_*ook 6

你几乎在那里;)

试试这个:

str = str.replaceAll("<.*?>", "")
Run Code Online (Sandbox Code Playgroud)