我有一个表示目录的String,\用于分隔文件夹.我想拆分基于"\\":
String address = "C:\\saeed\\test";
String[] splited = address.split("\\");
Run Code Online (Sandbox Code Playgroud)
但是,这给了我一个java.util.regex.PatternSyntaxException.
正如其他人所建议的那样,您可以使用:
String[] separated = address.split("\\\\");
Run Code Online (Sandbox Code Playgroud)
或者您可以使用:
String[] separated = address.split(Pattern.quote("\\"));
Run Code Online (Sandbox Code Playgroud)
另外,供参考:
String address = "C:\saeed\test";
Run Code Online (Sandbox Code Playgroud)
不会编译,因为\s它不是有效的转义序列.这里\t被解释为制表符,你真正想要的是:
String address = "C:\\saeed\\test";
Run Code Online (Sandbox Code Playgroud)
所以,现在我们看到,为了获得\一个String,我们需要"\\".
正则表达式\\匹配单个反斜杠,因为它\是正则表达式中的特殊字符,因此必须进行转义.一旦我们把它放在引号中,也就是把它变成a String,我们需要逃避每个反斜杠,屈服"\\\\".
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |