考虑以下代码
String unformattedXml ="<root> <?xml version=\"1.0\" encoding=\"UTF-8\"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=";
unformattedXml = unformattedXml.replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\"?>","");
System.out.println(unformattedXml);
输出为:
<root> <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=
您一定已经理解了,我想从字符串中删除xml标记,但是不知何故,replaceAll
函数帮不了我。
有什么建议吗?
谢谢!
发布于 2015-07-17 02:24:45
您需要调用replace
而不是replaceAll
。后者将输入字符串解析为正则表达式,导致像?
这样的字符被视为正则表达式元字符:
unformattedXml = unformattedXml.replace(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "");
发布于 2015-07-17 02:25:02
String#replaceAll接受一个正则表达式作为第一个参数--试着使用replace。
发布于 2015-07-17 02:34:08
您可以使用replace()代替replaceAll()
String unformattedXml ="<root> <?xml version=\"1.0\" encoding=\"UTF-8\"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=";
unformattedXml = unformattedXml.replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>","");
System.out.println(unformattedXml);
https://stackoverflow.com/questions/31461773
复制相似问题