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

如何在Java中从XML字符串中删除
标记

我尝试了以下方法,但这没有帮助

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);

对于您的正则表达式

  • 您必须转义,因为它是元字符
  • 因此,在第一步中,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);
    
    对于您的正则表达式

  • 您必须转义,因为它是元字符
  • 因此,在第一步中,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