从绝对路径获取名称,从最后一个斜杠获取子串,java android

Álv*_*aro 18 java android file

我想提取绝对路径的名称.如果我有一个值为/ mnt/sdcard/Videos/Videoname的字符串,我想保存一个值为Videoname的字符串.

字符串正在改变,我以前无法获得斜线数.我怎么能从最后一个斜线中分割一个子串?

/ mnt/sdcard/Videos/Videoname - > Videnoname

dac*_*cwe 24

你应该通过Fileapi.引自File.getName()文档:

返回此抽象路径名表示的文件或目录的名称.这只是路径名称序列中的姓氏.如果路径名的名称序列为空,则返回空字符串.

例:

String name = new File("/mnt/sdcard/Videos/Videoname").getName();
Run Code Online (Sandbox Code Playgroud)


Jej*_*dou 12

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

String fileName = myFile.getName();
Run Code Online (Sandbox Code Playgroud)

如果你从一个简单的String获得它,你可以使用

String fileName = myString.substring(myString.lastIndexOf("/")+1);
Run Code Online (Sandbox Code Playgroud)

  • -1.字符串版本错误,`"/ mnt/sdcard/Videos/Videoname"`将返回`"/ Videoname"`.按照我的建议使用`File` API,例如new File("/ mnt/sdcard/Videos/Videoname").getName()将返回正确的"Videoname". (2认同)

rav*_*avz 7

String path = "/mnt/sdcard/Videos/Videoname"; // Your path

String fileName = new File(path).getName(); // you file name
Run Code Online (Sandbox Code Playgroud)


Ada*_*upt 0

string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]
Run Code Online (Sandbox Code Playgroud)