我想提取绝对路径的名称。如果我有一个值为 /mnt/sdcard/Videos/Videoname 的字符串,我想保存一个值为 Videoname 的字符串。
该字符串正在更改,我无法预先获取斜杠数量。如何从最后一个斜杠拆分子字符串?
该字符串正在更改,我无法预先获取斜杠数量。如何从最后一个斜杠拆分子字符串?
/mnt/sdcard/Videos/Videoname --> Videoname
/mnt/sdcard/Videos/Videoname --> Videoname
File
API。引用自File.getName()
文档:
返回此抽象路径名表示的文件或目录的名称。这只是路径名名称序列中的最后一个名称。如果路径名的名称序列为空,则返回空字符串。
例如:
String name = new File("/mnt/sdcard/Videos/Videoname").getName();
如果您从“File”对象中获取了它,则可以使用该方法获取:
String fileName = myFile.getName();
如果你是从一个简单的字符串中获取到它,你可以使用以下方法:
String fileName = myString.substring(myString.lastIndexOf("/")+1);
"/mnt/sdcard/Videos/Videoname"
将返回"/Videoname"
。像我建议的那样使用File
API,例如: new File("/mnt/sdcard/Videos/Videoname").getName()
,这将返回正确的"Videoname"
。 - dacweString path = "/mnt/sdcard/Videos/Videoname"; // Your path
String fileName = new File(path).getName(); // you file name
String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;
path.substring(pos, path.length()-pos);
String[] Tokens = stringPath.split("\\\\");
你需要两次转义 "\"。
string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]