如何用Java解析这个字符串?

omg*_*omg 20 java string

前缀/ DIR1/DIR2/DIR3/dir4/..

如何dir1, dir2在Java中解析上述字符串中的值?

这里的前缀可以是:

在/ usr /本地/的Apache2 /简历

coo*_*ird 55

如果要拆分String/字符,该String.split方法将工作:

例如:

String s = "prefix/dir1/dir2/dir3/dir4";
String[] tokens = s.split("/");

for (String t : tokens)
  System.out.println(t);
Run Code Online (Sandbox Code Playgroud)

产量

prefix
dir1
dir2
dir3
dir4
Run Code Online (Sandbox Code Playgroud)

编辑

/前缀为a 的情况,我们知道前缀是什么:

String s = "slash/prefix/dir1/dir2/dir3/dir4";

String prefix = "slash/prefix/";
String noPrefixStr = s.substring(s.indexOf(prefix) + prefix.length());

String[] tokens = noPrefixStr.split("/");

for (String t : tokens)
  System.out.println(t);
Run Code Online (Sandbox Code Playgroud)

没有前缀的子字符串"slash/prefix/"由该substring方法生成.String然后就是这样split.

输出:

dir1
dir2
dir3
dir4
Run Code Online (Sandbox Code Playgroud)

再次编辑

如果这String实际上是在处理文件路径,那么使用File该类可能比使用字符串操作更可取.像类File这已经考虑到处理文件路径的所有复杂细节将会更加强劲.