public static void main(String args[]) throws IOException
{
String cdpicval= "D:\\asd\\aww\\wwee\\aa.jpg";
String sds []=cdpicval.split("\\");
System.out.println(sds[0]);
System.out.println(sds[1]);
System.out.println(sds[2]);
}
我现在知道 对于路径这类、分割! 运行后错误Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at Test.main(Test.java:11)
{
String cdpicval= "D:\\asd\\aww\\wwee\\aa.jpg";
String sds []=cdpicval.split("\\");
System.out.println(sds[0]);
System.out.println(sds[1]);
System.out.println(sds[2]);
}
我现在知道 对于路径这类、分割! 运行后错误Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at Test.main(Test.java:11)
String sds []=cdpicval.split("\\\\");
System.out.println(sds[0]);
System.out.println(sds[1]);
System.out.println(sds[2]);这样做,就没有问题了。
D:
asd
aww
问题已经解决!谢谢还问下
为什么我直接定义 String cdpicval= "D:\asd\aww\wwee\aa.jpg"; (单斜杠)
会报错、
但是前台 file 控件传过来(单斜杠),就没问题! 解释下哦~~
==========================================================
但如果想在串中使用"\"字符,则也需要转义.首先要表达"XXX\XXX"这个串就应该用"XXX\\XXX",然后要分隔就应该用split("\\\\")才能得到正确结果:
String cdpicval= "D:\asd\aww\wwee\aa.jpg";
上面这样写编译可以通过?
String cdpicval = "D:/asd/aww/wwee/aa.jpg";
String sds[] = cdpicval.split("/");
不就完了