18

絶対パスの名前を抽出したい。値が /mnt/sdcard/Videos/Videoname の文字列がある場合、値が Videoname の文字列を保存します。

文字列が変化していて、以前にスラッシュの数を取得できません。最後のスラッシュから部分文字列を分割するにはどうすればよいですか?

/mnt/sdcard/Videos/Videoname --> ビデオ名

4

6 に答える 6

25

FileAPI経由で行く必要があります。File.getName()ドキュメントから引用:

この抽象パス名が示すファイルまたはディレクトリの名前を返します。これは、パス名の名前シーケンスの最後の名前です。パス名の名前シーケンスが空の場合、空の文字列が返されます。

例:

String name = new File("/mnt/sdcard/Videos/Videoname").getName();
于 2012-05-11T10:20:10.820 に答える
15

「ファイル」オブジェクトから取得した場合は、次のメソッドで取得できます。

String fileName = myFile.getName();

単純な文字列から取得した場合は、使用できます

String fileName = myString.substring(myString.lastIndexOf("/")+1);
于 2012-05-11T10:19:40.923 に答える
7
String path = "/mnt/sdcard/Videos/Videoname"; // Your path

String fileName = new File(path).getName(); // you file name
于 2014-01-28T09:02:41.717 に答える
2

最も簡単な方法は

String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;

path.substring(pos, path.length()-pos);

これで、パス文字列に last.htm が含まれるようになりました。

于 2014-04-14T11:40:15.260 に答える
0
string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]
于 2012-05-11T10:19:04.153 に答える