Android Java: извлечение подстроки из строки uri после определенных символов - PullRequest
0 голосов
/ 19 февраля 2019

Я хотел бы извлечь подстроку, начиная с определенной подстроки.

Я получаю массив URI нескольких изображений из библиотеки фотографий через это решение .Но URI - это что-то вроде

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

Я хотел бы удалить контент: // и получить только

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

Я искал через Интернетно не нашел лучшего решения.Возможно, чтобы избежать регулярных выражений, потому что это довольно тяжело.

В данный момент я предпочитаю не получать подстроку, проверяя после второго '/', потому что она выглядит как-то «жестко закодировано».

Не уверен, что яупустил хорошее решение, но, пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Если вам нужно получить любую строку после определенной подстроки, в этом случае «content: //», вы можете использовать метод split.

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

Или вы можете использовать подстроку и indexOfметоды, как в другом ответе, но добавьте длину подстроки.

String string = "content://com.android.providers.media.documents/document/image%3A38";
String sub = "content://";
String uri = string.substring(string.indexOf(sub) + sub.length());
0 голосов
/ 19 февраля 2019

Вы можете просто использовать метод substring для создания новых строк без содержимого: //, что-то вроде этого:

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