如何在Java中解析此字符串?

2022-09-01 18:07:50

prefix/dir1/dir2/dir3/dir4/..

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

此处的前缀可以是:

/usr/local/apache2/resumes


答案 1

如果要拆分 at 字符,String.split 方法将起作用:String/

例如:

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

for (String t : tokens)
  System.out.println(t);

输出

prefix
dir1
dir2
dir3
dir4

编辑

在前缀中包含 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);

不带前缀的子字符串由子字符串方法创建。然后运行通过。"slash/prefix/"Stringsplit

输出:

dir1
dir2
dir3
dir4

再次编辑

如果这实际上是在处理文件路径,则使用 File 类可能比使用字符串操作更可取。像这样的类已经考虑到了处理文件路径的所有复杂性,它将更加健壮。StringFile


答案 2
...
String str = "bla!/bla/bla/"

String parts[] = str.split("/");

//To get fist "bla!"
String dir1 = parts[0];