1

我有一个 XML 文件,我想格式化一个 XML 文件以删除像“ <scientific_max></scientific_max>”这样的标签。我使用了该代码,但它不起作用

String regex = "<([a-z_]+)></($1)>";
result = result.replaceAll(regex, "");

祝你今天过得愉快!

4

2 回答 2

1

如果您坚持使用正则表达式执行此类任务,您可能想知道反向引用在 java中表示为\n,而不是$n

String regex = "<([a-z_]+)></\\1>";
result = result.replaceAll(regex, "");
于 2012-04-09T12:24:25.343 回答
1

Java 在文件的模式匹配和字符串替换方面并不是最好的,如果您正在考虑基于标签提取数据,请使用 jaxb

如果您想对 xml 进行永久更改,您可以使用 sed

sed -i 's/<\*scientific_max>*$//' input_xml.xml

于 2012-04-09T14:18:36.650 回答