如何在Windows中拆分java中的字符串? 我用了 例如。
String directory="C:\home\public\folder";
String [] dir=direct.split("\");
我想知道如何分割字符串,例如。
在java中,如果我使用"split("\")"
,则存在语法错误。
感谢
答案 0 :(得分:12)
split()
函数接受正则表达式。所以,你真正需要做的是两次逃避反斜杠字符:
String[] dir=direct.split("\\\\");
一个用于Java,一个用于正则表达式。
答案 1 :(得分:7)
导致语法错误,因为Sing反斜杠在Java中用作escape character。
在正则表达式'\'
中也是一个转义字符,为什么你需要逃避它。
最终结果应如下"\\\\"
。
但是您应该使用java.io.File.separator
作为路径中的拆分字符。
String[] dirs = dircect.split(Pattern.quote(File.separator));
thx to John
答案 2 :(得分:5)
你需要逃避反斜杠:
direct.split("\\\\");
一次是java字符串,一次是正则表达式。
答案 3 :(得分:3)
你需要逃脱它。
String [] dir=direct.split("\\\\");
修改:或使用Pattern.quote方法。
String [] dir=direct.split(Pattern.quote("\\"))
答案 4 :(得分:2)
请不要使用文件分隔符进行拆分。
强烈建议您获取文件目录并遍历父项以获取路径。无论您使用何种操作系统,它都会每次都有效。
试试这个:
String yourDir = "C:\\home\\public\\folder";
File f = new File(yourDir);
System.out.println(f.getAbsolutePath());
while ((f = f.getParentFile()) != null) {
System.out.println(f.getAbsolutePath());
}
答案 5 :(得分:0)
我猜你可以使用StringTokenizer库
String directory="C:\home\public\folder";
String [] dir=direct.split("\");
StringTokenizer token = new StringTokenizer(directory, '\');
while(token.hasTokens()
{
String s = token.next();
}
这在句法上可能不完全正确,但希望这会有所帮助。
答案 6 :(得分:0)
final String dir = System.getProperty("user.dir");
String[] array = dir.split("[\\\\/]",-1) ;
String arrval="";
for (int i=0 ;i<array.length;i++)
{
arrval=arrval+array[i];
}
System.out.println(arrval);
答案 7 :(得分:-1)
这是因为反斜杠。反斜杠用于转义字符。使用
split("\\")
用反斜杠分割。
答案 8 :(得分:-1)
String[] a1 = "abc bcd"
String[] seperate = a1.split(" ");
String finalValue = seperate[0];
System.out.pritln("Final string is :" + finalValue);
这将给出结果为 abc
答案 9 :(得分:-2)
split("\\")
反弹用于逃避。