如何提取字符串的特定部分?

时间:2016-12-31 15:05:25

标签: android

我有一个永不改变的链接。唯一改变的是文件名(以粗体显示)。那么如何从这个链接获取文件名?我想在textview或toast中显示它 -

http://apkins.aptoide.com/ aptoide-8.1.0.1.apk ?=x

3 个答案:

答案 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个字符到文件名末尾“切出”一个新字符串。