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

如果您从“文件”对象中获取 if,则可以使用以下方法获取它:

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 回答
1

但是通过更多的研究,以下代码可以工作......

String[] Tokens = stringPath.split("\\\\");

您需要将“\”转义两次。

于 2013-06-05T07:21:06.267 回答
0
string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]
于 2012-05-11T10:19:04.153 回答