如何删除&#34; <! - ?xml ... - >&#34;来自回复的标签?

时间:2017-10-16 12:24:34

标签: java regex string

我想从我的回复中删除<?xml version="1.0" encoding="UTF-8" standalone="no"?>

我使用过这个正则表达式:

String newString = text.replaceAll("(?s)<xml>","");

但它对我不起作用,我应该改变什么呢?

2 个答案:

答案 0 :(得分:2)

有两种方法。如果您非常确定XML是格式化的(一行,一个元素),并且此标记始终显示在第一行,则只需删除整行。

由于这需要格式良好的XML,因此您最好选择基于Regex的解决方案。

尝试使用(<\?xml.*?\?>)正则表达式。请参阅Regex101的演示。在Java中,请注意转义字符:

String newString = text.replaceAll("(<\\?xml.*?\\?>)","");

答案 1 :(得分:1)

您可以从第一个标记中获取XML而不在其后面加上问号,因为<[^\?]+请参阅regex