如何从Java中的XML字符串中删除<xml version>标记。

我尝试了以下操作,但这无济于事。

XmlString = XmlString.replaceAll("<?xml*?>", "").trim();


我也试过

XmlString = XmlString.replaceAll("\\<\\?xml(.+?)\\?\\>", "").trim();

最佳答案

对于您的正则表达式<?xml*?>


你必须逃跑吗?因为它是一个元字符。


因此,第一步应将正则表达式修改为<\\?xml*\\?>


表示任何字符(如通配符)的元字符不是*(星号)而是。 (点)在正则表达式中。
*用作相邻字符的量词,表示零个或多个。


因此,您应该在xml之后使用。*:<\\?xml.*\\?>


*尽可能长时间吞咽。为了使其尽可能短,最好使用*?比*。


所以最终的正则表达式是<\\?xml.*?\\?>

下面是一个有效的示例代码:


String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
System.out.println(xmlString);
xmlString = xmlString.replaceAll("<\\?xml.*?\\?>", "");
System.out.println(xmlString);

关于java - 从字符串中删除xml版本标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32168501/

10-13 21:46