regex 如何从响应中删除“〈?xml ...>”标记?

tkclm6bt  于 2022-12-30  发布在  其他
关注(0)|答案(2)|浏览(128)

我想从我的响应中删除以下行:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

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

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

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

klr1opcd

klr1opcd1#

有两种方法:如果你确信XML格式很好(一行,一个元素),并且这个标签总是出现在第一行,那么只需删除整行。
由于这需要格式良好的XML,因此最好采用您建议的基于Regex的解决方案。
尝试使用(<\?xml.*?\?>)正则表达式。请参阅Regex101中的演示。在Java中,请注意转义字符:

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

wkyowqbh2#

使用regex,您可以从第一个标记开始获取XML,后面不带问号,如<[^\?]+参见regex
这将忽略<?xml>标记

相关问题