[英]how to split the string in java
如何在 Windows 中拆分 java 中的字符串? 我用了例如。
String directory="C:\home\public\folder";
String [] dir=direct.split("\");
我想知道如何将字符串拆分为例如。 在 java 中,如果我使用"split("\")"
,则会出现语法错误。
谢谢
split()
Java 中的 function 接受正则表达式。 因此,您真正需要做的是两次转义反斜杠字符:
String[] dir=direct.split("\\\\");
一种用于 Java,一种用于正则表达式。
语法错误是因为在 Java 中使用 sing 反斜杠作为转义字符。
在正则表达式中'\'
也是一个转义字符,为什么你也需要转义它。
因为最终结果应该是这样的"\\\\"
。
但是您应该使用java.io.File.separator
作为路径中的拆分字符。
String[] dirs = dircect.split(Pattern.quote(File.separator));
谢谢约翰
您需要转义反斜杠:
direct.split("\\\\");
一次用于 java 字符串,一次用于正则表达式。
你需要逃避它。
String [] dir=direct.split("\\\\");
编辑:或使用Pattern.quote方法。
String [] dir=direct.split(Pattern.quote("\\"))
请不要使用文件分隔符进行拆分。
强烈建议您获取文件目录并遍历父目录以获取路径。 无论您使用的是什么操作系统,它都可以随时工作。
尝试这个:
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());
}
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);
我想你可以使用 StringTokenizer 库
String directory="C:\home\public\folder";
String [] dir=direct.split("\");
StringTokenizer token = new StringTokenizer(directory, '\');
while(token.hasTokens()
{
String s = token.next();
}
这在语法上可能并不完全正确,但希望这会有所帮助。
String[] a1 = "abc bcd"
String[] seperate = a1.split(" ");
String finalValue = seperate[0];
System.out.pritln("Final string is :" + finalValue);
这将给出结果为abc
这是因为反斜杠。 反斜杠用于转义字符。 利用
split("\\")
用反斜杠分割。
split("\\")
反冲用于转义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.