233

私は文字列を持っています:

/abc/def/ghfj.doc

これから抽出したいと思いghfj.docます。つまり、最後の部分文字列/、または/右から最初の部分文字列です。

誰か助けてください。

4

10 に答える 10

365
String example = "/abc/def/ghfj.doc";
System.out.println(example.substring(example.lastIndexOf("/") + 1));
于 2013-01-14T10:17:42.680 に答える
48

非常に単純な実装String.split()

String path = "/abc/def/ghfj.doc";
// Split path into segments
String segments[] = path.split("/");
// Grab the last segment
String document = segments[segments.length - 1];
于 2013-01-14T10:17:27.317 に答える
42

何を試しましたか?それはとても簡単です:

String s = "/abc/def/ghfj.doc";
s.substring(s.lastIndexOf("/") + 1)
于 2013-01-14T10:18:27.907 に答える
12

Apache コモンズを使用できます。

最後に出現した後の部分文字列には、このメソッドを使用します。

そして、最初に出現した後の部分文字列の同等の方法はhereです。

于 2016-07-01T14:56:19.270 に答える
8

これにより、ファイル名も取得できます

import java.nio.file.Paths;
import java.nio.file.Path;
Path path = Paths.get("/abc/def/ghfj.doc");
System.out.println(path.getFileName().toString());

印刷しますghfj.doc

于 2016-08-25T18:50:52.560 に答える
0

分割関数を直接使用する方が良いと思います

String toSplit = "/abc/def/ghfj.doc";

String result[] = toSplit.split("/");

String returnValue = result[result.length - 1]; //equals "ghfj.doc"
于 2016-05-10T22:48:09.837 に答える