首先,我想原谅这个问题是否已经讨论过了,如果你指出一个已经回答的问题,我会很高兴的!我找不到能帮助我的人。
我必须在这样的字符串中仅提取最后一个“/”之后的最后一部分: /测试/ TEST2 / TEST3
我只需要提取“test3”。但我自己也找不到办法,所以我在寻求你的帮助。
答案 0 :(得分:15)
您只需找到last index of /
,然后点击substring:
int lastIndex = text.lastIndexOf('/');
String lastPart = text.substring(lastIndex + 1);
(其他选项当然存在 - 例如正则表达式和/
分割......但上面是我要做的。)
请注意,因为我们必须使用+ 1
来越过最后一个/
,所以即使不是,它也有一个方便的属性任何斜杠:
String text = "no slashes here";
int lastIndex = text.lastIndexOf('/'); // Returns -1
String lastPart = text.substring(lastIndex + 1); // x.substring(0).equals(x)
答案 1 :(得分:10)
"/test/test2/test3".substring("/test/test2/test3".lastIndexOf("/")+1)
还假设它是一个文件路径。您也可以使用File#getname()
File f = new File("/test/test2/test3");
System.out.println(f.getName());
答案 2 :(得分:2)
如果您还需要隔离字符串的其他部分,这将是最简单的方法。
String s="a/b/c"; //Works also for "a b c" and "a/b/c/"
String[] parts=s.split("/");
System.out.println(parts[parts.length-1]);