标签: java regex string
我想从我的回复中删除<?xml version="1.0" encoding="UTF-8" standalone="no"?>。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
我使用过这个正则表达式:
String newString = text.replaceAll("(?s)<xml>","");
但它对我不起作用,我应该改变什么呢?
答案 0 :(得分:2)
有两种方法。如果您非常确定XML是格式化的(一行,一个元素),并且此标记始终显示在第一行,则只需删除整行。
由于这需要格式良好的XML,因此您最好选择基于Regex的解决方案。
尝试使用(<\?xml.*?\?>)正则表达式。请参阅Regex101的演示。在Java中,请注意转义字符:
(<\?xml.*?\?>)
String newString = text.replaceAll("(<\\?xml.*?\\?>)","");
答案 1 :(得分:1)
您可以从第一个标记中获取XML而不在其后面加上问号,因为<[^\?]+请参阅regex。
<[^\?]+