まず、この問題がすでに議論されている場合は申し訳ありませんが、すでに回答済みの質問を指摘していただければ幸いです。私を助けるものを見つけることができませんでした。
このような文字列の最後の「/」の後の最後の部分だけを抽出する必要があります:/ test / test2 / test3
「test3」だけを抽出する必要があります。しかし、私は自分で道に迷うことができないので、あなたの助けを求めています。
の最後のインデックス を見つけて/
、その後の部分文字列を取得するだけです。
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)
"/test/test2/test3".substring("/test/test2/test3".lastIndexOf("/")+1)
また、そのファイルパスを想定しています。File#getname()を使用することもできます
File f = new File("/test/test2/test3");
System.out.println(f.getName());
文字列の他の部分も分離する必要がある場合は、これが最も簡単な方法です。
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]);