String s1="d:\\father\\son.xml";
String s2=s1.replaceAll("\\","@");
System.out.println(s2);出错,出错消息为:Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 2
[\]
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.clazz(Pattern.java:2254)
at java.util.regex.Pattern.sequence(Pattern.java:1818)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.replaceAll(String.java:2190)
at com.Xml.main(Xml.java:38)
求高手解决
String s2=s1.replaceAll("\\\\","@");
System.out.println(s2);
replaceAll(Pattern.quote("\\"),"@");
或你用
replace
第一个参数要求是正则表达式
Java里以\开头表示是正则表达式,还要转义