我有一个永不改变的链接。唯一改变的是文件名(以粗体显示)。那么如何从这个链接获取文件名?我想在textview或toast中显示它 -
http://apkins.aptoide.com/
的 aptoide-8.1.0.1.apk ?=x
答案 0 :(得分:1)
String given = "http://apkins.aptoide.com/aptoide-8.1.0.1.apk?=x";
String extractedAppName = given.substring(given.lastIndexOf("/") + 1, given.lastIndexOf("?"));
这应该有效。它取名字前/
的位置,然后取?
的位置。它接受这两个字符之间的字符串(子字符串)。试试吧,你会看到。
答案 1 :(得分:1)
这应该可以解决问题
String fileName = url.substring(url.lastIndexOf('/') + 1);
您还可以尝试URLUtil.guessFileName(url, null, null)
修改1
String url = "any url"
答案 2 :(得分:1)
这是一个无正则表达式的解决方案:
public static String getFileName(String link) {
int endIndex = link.lastIndexOf('?');
return link.substring(26, endIndex);
}
这很简单。它首先得到文件名结束的位置,即最后一个“?”的位置。然后它从链接从第27个字符到文件名末尾“切出”一个新字符串。