java - 如何使用正则表达式替换 xml 空标签

标签 java regex xml

我有很多空的 xml 标签需要从字符串中删除。

 String dealData = dealDataWriter.toString();
 someData = someData.replaceAll("<somerandomField1/>", "");
 someData = someData.replaceAll("<somerandomField2/>", "");
 someData = someData.replaceAll("<somerandomField3/>", "");
 someData = someData.replaceAll("<somerandomField4/>", "");

这使用了大量的字符串操作,效率不高,有什么更好的方法来避免这些操作。

最佳答案

我不建议在 HTML/XML 上操作时使用正则表达式...但对于像您这样的简单情况,也许可以使用这样的规则:

someData.replaceAll("<\\w+?\\/>", "");

测试:link

如果您还想考虑标签名称前后的可选空格:

someData.replaceAll("<\\s*\\w+?\\s*\\/>", "");

测试:link

关于java - 如何使用正则表达式替换 xml 空标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186248/

相关文章:

java - 匹配正则表达式中从后面开始的第一次出现

java - 并发访问HashMap

java - Bean @Autowired 在 spring 中默认

java - 带有正则表达式的代码似乎无缘无故结束

java - 更好的字符串操作代码

java - 如何判断给定的字符串是否为 RSS feed

regex - perl - 按字符串内的方法分割字符串

xml - BaseX 上的 Xpath/Xquery 没有返回任何结果

c# - XSLT 转换未正确缩进

c# - 如何使用 Linq 从 XML 创建字典数组?