2016-08-26 22 views
1

から私は今、私は私は2番目の前に、すべての文字を削除したいこの解析文字列値URL

media/93939393hhs8.jpeg

にそれをクリップするこのパターンhttps://xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg 中(URLです)の文字列を持っています最後のスラッシュ/

は、私はJavaでなく、SWIFT(iOS版)で初心者だ、これは私たちがこれを行う方法です。

基本的に私は最後の2項目に期待して、

このURLからすべてを削除してい
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" 
} 

私はこれらの2つの項目を使用しています/

+0

あなたのご質問はありますか? –

+0

'https:// xxx.kflslfsk.com/kjjfkskfjksf/v1/files/media/93939393hhs8.jpeg'から' media/93939393hhs8.jpeg'を取得する@ Jean-FrançoisFabre –

答えて

1

Regexに精通していますか?ここで

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

は(\\とエスケープを忘れないでくださいJavaでの例です:

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

if (m.find()) { 
    System.out.println(m.group(1)); 
} 
この Regex(リンクで説明) /で区切られ、最後の2つの項目をキャプチャすることを使用してみてください

また、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('/')); 

または

使用の分割および追加最後の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"))