Java string.replaceAll问题

时间:2015-07-16 18:22:34

标签: java string

考虑以下代码

 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函数对我没有帮助。

有什么建议吗?

谢谢!

3 个答案:

答案 0 :(得分:6)

您需要拨打replace而不是replaceAll。后者将输入字符串解析为正则表达式,使?之类的字符被视为正则表达式元字符:

unformattedXml = unformattedXml.replace(
            "<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "");

答案 1 :(得分:1)

String#replaceAll将正则表达式作为第一个参数 - 尝试使用replace

答案 2 :(得分:0)

您可以使用replace()代替replaceAll()

column
.Template(@<text></text>).Width(90)

.ClientTemplate("#= MyDeleteTemplate(CsvSubmittalID) #"); 

.ClientTemplate("<div style='text-align:center'><a class=ActionbuttonDelete href=\"" + Url.Action("DeleteCsvRow", "Project") + "/#=CsvSubmittalID#\"> [Delete] </a></div>");

.ClientTemplate("#= MyDeleteTemplate(CsvSubmittalID)#", <div style='text-align:center'><a class=ActionbuttonDelete [Delete] </a></div>");