我想提取绝对路径的名称。如果我有一个值为/ mnt / sdcard / Videos / Videoname的字符串,我想保存一个值为Videoname的字符串。
字符串正在改变,我以前无法获得斜杠数。我怎么能从最后一个斜线中分割一个子串呢?
/ mnt / sdcard / Videos / Videoname - > Videnoname
答案 0 :(得分:22)
你应该通过File
api。引自File.getName()
文档:
返回此抽象路径名表示的文件或目录的名称。这只是路径名称序列中的姓氏。如果路径名的名称序列为空,则返回空字符串。
示例:
String name = new File("/mnt/sdcard/Videos/Videoname").getName();
答案 1 :(得分:12)
如果从“文件”对象获得,则可以使用以下方法获取:
String fileName = myFile.getName();
如果你从一个简单的字符串中得到它,你可以使用
String fileName = myString.substring(myString.lastIndexOf("/")+1);
答案 2 :(得分:7)
String path = "/mnt/sdcard/Videos/Videoname"; // Your path
String fileName = new File(path).getName(); // you file name
答案 3 :(得分:2)
最简单的方法是
String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;
path.substring(pos, path.length()-pos);
现在路径字符串中有last.htm。
答案 4 :(得分:1)
但是通过更多研究,以下代码可以正常运行......
String[] Tokens = stringPath.split("\\\\");
你需要两次逃避“\”。
答案 5 :(得分:0)
string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]