如何解决如何在Java中的xml模板中替换第n次出现?
在这里,我正在使用 Java 进行自动化,宁静而放心。
所以我想用一个空白字符串替换第二个 <p>
& </p>
标签。
附上模板
<Request>
<P>
<n>name1</n>
<v>${value1}</v>
</P>
<P>
<n>name2</n>
<v>${value2}</v>
</P>
<P>
<n>name3</n>
<v>value3</v>
</P>
</Request>
我使用以下代码替换第二个 <p>
和 </p>
标签。但它被替换了所有 <p>
&</p>
标签(第一个和最后一个 <p>
& </p>
标签也是)
String request = exampleTemplate.replace("${value1}","XYZ")
.replace("<P>","")
.replace("<v>${value2}</v>","1234")
.replace("</P>","")
.replace("${value3}","AAA");
如何只替换第二个 <p>
和 </p>
标签?
解决方法
您可以同时匹配第一个和第二个 <p>
元素。
String res = str.replace("${value1}","XYZ")
.replace("<v>${value2}</v>","1234")
.replace("${value3}","AAA")
.replaceFirst("(?s)(<P>.*?</P>\\s*)<P>(.*?)</P>","$1$2");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。