2016-08-26 10 views
1

я есть строка (которая является URL) в этой модели https://xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg теперь я хочу, чтобы закрепить его в этомАнализировать значение строки из URL

media/93939393hhs8.jpeg

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

я новичок в Java, но в быстрой (IOS) это то, как мы это делаем:

if let url = NSURL(string:"https://xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg"), pathComponents = url.pathComponents { 
    let trimmedString = pathComponents.suffix(2).joinWithSeparator("/") 
    print(trimmedString) // "output = media/93939393hhs8.jpeg" 
} 

в основном я удалить все из этого Url ожидать от последних 2 пункта, а затем

Я присоединяюсь к этим двум предметам, используя /

+0

На ваш вопрос? –

+0

получить 'media/93939393hhs8.jpeg' из' https: // xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg' @ Jean-FrançoisFabre –

ответ

1

Вы знакомы с Регулярное выражение? Попробуйте использовать этот Regex (объяснена в ссылке), который захватывает последние 2 пунктов, разделенных /:

.*?\/([^\/]+?\/[^\/]+?$) 

Вот пример в Java (не забывайте бежать с \\:

Pattern p = Pattern.compile("^.*?\\/([^\\/]+?\\/[^\\/]+?$)"); 
Matcher m = p.matcher(string); 

if (m.find()) { 
    System.out.println(m.group(1)); 
} 

в качестве альтернативы есть split(..) функции, однако я рекомендую вам выше способом. (в конце концов конкатенации строк отделенных правильно с StringBuilder).

String part[] = string.split("/"); 
int l = part.length; 
StringBuilder sb = new StringBuilder(); 
String result = sb.append(part[l-2]).append("/").append(part[l-1]).toString(); 

И дает тот же результат: media/93939393hhs8.jpeg

1
string result=url.substring(url.substring(0,url.lastIndexOf('/')).lastIndexOf('/')); 

или

Использование Split и добавить последние 2 шт

string[] arr=url.split("/"); 
    string result= arr[arr.length-2]+"/"+arr[arr.length-1] 
1
public static String parseUrl(String str) { 
    return (str.lastIndexOf("/") > 0) ? str.substring(1+(str.substring(0,str.lastIndexOf("/")).lastIndexOf("/"))) : str; 
} 
2
String ret = url.substring(url.indexof("media"),url.indexof("jpg")) 
Смежные вопросы