我有一个代表目录的字符串,其中 \
用于分隔文件夹。我想根据 "\\"
拆分:
String address = "C:\\saeed\\test";
String[] splited = address.split("\\");
但是,这会给我一个 java.util.regex.PatternSyntaxException
。
最佳答案
正如其他人所建议的,您可以使用:
String[] separated = address.split("\\\\");
或者您可以使用:
String[] separated = address.split(Pattern.quote("\\"));
另外,供引用:
String address = "C:\saeed\test";
不会编译,因为 \s
不是有效的转义序列。这里 \t
被解释为制表符,你真正想要的是:
String address = "C:\\saeed\\test";
所以,现在我们看到,为了在 String
中获取 \
,我们需要 "\\"
。
正则表达式 \\
匹配单个反斜杠,因为 \
是正则表达式中的特殊字符,因此必须进行转义。一旦我们将其放入引号中,也就是将其转换为 String
,我们需要转义每个反斜杠,生成 "\\\\"
。
关于java - 为什么 .split ("\\") 会产生异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18166017/