vix*_*ant 0 java regex arrays string exception
我正以自己的方式解决这个问题.我正在尝试将文件路径拆分为驱动器,文件夹和文件名,全部放入数组中.
问题:
String regex = "\\";
String [] divisions = path.split (regex);
Run Code Online (Sandbox Code Playgroud)
这给了我一个java.util.regex.PatternSyntaxException.我抬头看了维基,发现了[\b]
String regex = "[\b]";
String [] divisions = path.split (regex);
Run Code Online (Sandbox Code Playgroud)
这不起作用.它不会抛出异常,也不会基于退格分割我的文件路径.
输入:
? Enter path --
C:\User\Admin\NekedGaben.jpg
Run Code Online (Sandbox Code Playgroud)
输出:
? Path = C:\User\Admin\NekedGaben.jpg
? File name = C:\User\Admin\NekedGaben
? Extension = .jpg
Run Code Online (Sandbox Code Playgroud)
我的问题:
"\\"抛出异常,而"[\b]"不是?split()拆分Path字符串?你应该在Java正则表达式中使用双重转义,即:
String regex = "\\\\";
Run Code Online (Sandbox Code Playgroud)
或者使用静态Pattern.quote(String)方法:
String regex = Pattern.quote("\\");
Run Code Online (Sandbox Code Playgroud)