java中的“”,“\”等的替换
问题1:
将windows下的路径D:ico est中的""替换成“\”。
错误代码:
public class tang { public static void main(String[] args) { // TODO Auto-generated method stub String parentPath = "D:\ico\test"; parentPath = parentPath.replaceAll("\", "\\"); System.out.println(parentPath); } }
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 ^ at java.util.regex.Pattern.error(Pattern.java:1924) at java.util.regex.Pattern.compile(Pattern.java:1671) at java.util.regex.Pattern.<init>(Pattern.java:1337) at java.util.regex.Pattern.compile(Pattern.java:1022) at java.lang.String.replaceAll(String.java:2162) at tang.main(tang.java:9)
正确代码:
public class tang { public static void main(String[] args) { // TODO Auto-generated method stub String parentPath = "D:\ico\test"; parentPath = parentPath.replaceAll("\\", "\\\\"); System.out.println(parentPath); } }
解释:
我们原本想要将字符串“D:ico est”转化成“D:\ico\test”,所以想当然的是直接将“”替换成“\”,所以用的是replaceAll("\", "\\")。 但实际上,变量存储字符串“D:ico est”的时候就是“D:\ico\test”,所以我们应该将变量存储的“\”替换成“\\”,故使用replaceAll("\\", \\\\)。
问题2:
将windows下的路径D:ico est中的按照“”拆分成数组。
错误代码:
public class tang { public static void main(String[] args) { // TODO Auto-generated method stub String parentPath = "D:\ico\test"; String[] tempStrings = parentPath.split("\"); for(String str : tempStrings) System.out.println(str); } }
正确代码:
public class tang { public static void main(String[] args) { // TODO Auto-generated method stub String parentPath = "D:\ico\test"; String[] tempStrings = parentPath.split("\\"); for(String str : tempStrings) System.out.println(str); } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。