Java 从字符串中删除xml版本
如何在Java中从XML字符串中删除Java 从字符串中删除xml版本,java,regex,Java,Regex,如何在Java中从XML字符串中删除标记 我尝试了以下方法,但这没有帮助 XmlString = XmlString.replaceAll("<?xml*?>", "").trim(); XmlString=XmlString.replaceAll(“,”).trim(); 我也试过了 XmlString = XmlString.replaceAll("\\<\\?xml(.+?)\\?\\>", "").trim(); XmlString=XmlString.r
标记
我尝试了以下方法,但这没有帮助
XmlString = XmlString.replaceAll("<?xml*?>", "").trim();
XmlString=XmlString.replaceAll(“,”).trim();
我也试过了
XmlString = XmlString.replaceAll("\\<\\?xml(.+?)\\?\\>", "").trim();
XmlString=XmlString.replaceAll(“\\”,”).trim();
正则表达式很复杂。没有必要为你要做的事情引入这种复杂性。请尝试以下方法:
xmlString = xmlString.substring(xmlString.indexOf("?>") + 2);
正则表达式很复杂。没有必要为你要做的事情引入这种复杂性。请尝试以下方法:
xmlString = xmlString.substring(xmlString.indexOf("?>") + 2);
正则表达式很复杂。没有必要为你要做的事情引入这种复杂性。请尝试以下方法:
xmlString = xmlString.substring(xmlString.indexOf("?>") + 2);
正则表达式很复杂。没有必要为你要做的事情引入这种复杂性。请尝试以下方法:
xmlString = xmlString.substring(xmlString.indexOf("?>") + 2);
对于您的正则表达式
:
下面是一个工作示例代码:
String xmlString=”“;
System.out.println(xmlString);
xmlString=xmlString.replaceAll(“,”);
System.out.println(xmlString);
对于您的正则表达式:
您必须转义?,因为它是元字符
因此,在第一步中,regex应该修改为
表示任何字符(通配符)的元字符在正则表达式中不是*(星号),而是(点)
*用作相邻字符的量词,表示零或更多
因此,您应该在xml之后立即使用*:
*尽可能长时间地吞咽。为了使它尽可能短,您最好使用*?而不是*
最后的正则表达式是
下面是一个工作示例代码:
String xmlString=”“;
System.out.println(xmlString);
xmlString=xmlString.replaceAll(“,”);
System.out.println(xmlString);
对于您的正则表达式:
您必须转义?,因为它是元字符
因此,在第一步中,regex应该修改为
表示任何字符(通配符)的元字符在正则表达式中不是*(星号),而是(点)
*用作相邻字符的量词,表示零或更多
因此,您应该在xml之后立即使用*:
*尽可能长时间地吞咽。为了使它尽可能短,您最好使用*?而不是*
最后的正则表达式是
下面是一个工作示例代码:
String xmlString=”“;
System.out.println(xmlString);
xmlString=xmlString.replaceAll(“,”);
System.out.println(xmlString);
对于您的正则表达式:
您必须转义?,因为它是元字符
因此,在第一步中,regex应该修改为
表示任何字符(通配符)的元字符在正则表达式中不是*(星号),而是(点)
*用作相邻字符的量词,表示零或更多
因此,您应该在xml之后立即使用*:
*尽可能长时间地吞咽。为了使它尽可能短,您最好使用*?而不是*
最后的正则表达式是
下面是一个工作示例代码:
String xmlString=”“;
System.out.println(xmlString);
xmlString=xmlString.replaceAll(“,”);
System.out.println(xmlString);
也尝试了以下操作:XmlString=XmlString.replaceAll(“,”).trim();XmlString=XmlString.replaceAll(“\\”,“).trim();
符号在正则表达式中并不特殊,因此不需要在它们前面加反斜杠。也尝试了以下操作:XmlString=XmlString.replaceAll(“,”).trim();XmlString=XmlString.replaceAll(“\\”,“).trim();
符号在正则表达式中并不特殊,因此不需要在它们前面加反斜杠。也尝试了以下操作:XmlString=XmlString.replaceAll(“,”).trim();XmlString=XmlString.replaceAll(“\\”,“).trim();
符号在正则表达式中并不特殊,因此不需要在它们前面加反斜杠。也尝试了以下操作:XmlString=XmlString.replaceAll(“,”).trim();XmlString=XmlString.replaceAll(“\\”,“).trim();
符号在正则表达式中并不特殊,因此不需要在它们前面加反斜杠。@Jamen,好的,我更新了我的答案,尽管我认为提问者只是在寻找正确的正则表达式,这(仅指一个工作示例)就足够了。@Jamen,好的,我更新了我的答案,尽管我认为提问者只是在寻找正确的正则表达式,并且(只是指出一个工作示例)是e