Android Java:在特定字符后从uri字符串中提取子字符串

时间:2019-02-19 14:59:06

标签: java android string substring extract

我想从特定子字符串开始提取一个子字符串。

我通过此solution从照片库中获取了多个图像的URI数组。但是URI就像这样

content://com.android.providers.media.documents/document/image%3A38

我想删除 content:// 并仅获取

com.android.providers.media.documents/document/image%3A38

我已经搜索了Internet,但没有找到最佳解决方案。也许要避免使用正则表达式,因为它很重。

此刻,我选择不通过在第二个'/'之后进行检查来获取子字符串,因为它有点“硬编码”。

不确定我是否错过了一个好的解决方案,但请提供帮助。

2 个答案:

答案 0 :(得分:3)

如果需要获取某个子字符串之后的任何字符串(在本例中为“ content://”),则可以使用split方法。

String string = "content://com.android.providers.media.documents/document/image%3A38";
String uri = string.split("content://")[1];

或者您可以像在其他答案中一样使用substring和indexOf方法,但是增加子字符串的长度。

String string = "content://com.android.providers.media.documents/document/image%3A38";
String sub = "content://";
String uri = string.substring(string.indexOf(sub) + sub.length());

答案 1 :(得分:1)

您可以只使用> df A B C D E 1 0 0 0 1 0 2 1 1 1 0 1 3 0 0 0 1 0 4 0 1 0 0 1 5 1 0 0 0 0 6 0 0 1 1 0 7 1 0 0 0 0 8 0 1 1 0 0 9 0 0 0 0 0 10 0 0 0 0 0 方法来创建没有content://的新字符串,如下所示:

substring