2012-04-12 15 views
2

Stringは、「http://www.abcd.com/en/sites/default/files/pic.jpg」などのウェブサイトのURLです。私はこの文字列を分割して、/files/から/newfolder/に変更するなど、いくつかのパス値を変更できるようにしたいと思います。Javaを使用してURL形式の文字列を分割する

これは簡単に達成できますか?

答えて

3
String[] afterSplit = yourString.split("files/"); 
String newString = afterSplit[0]; 
newString += "/newfolder/"; 
newString += afterSplit[1]; 

標準のString.split()メソッドでは、分割を要求しています。 newStringは結果の文字列です。

0
string.replace("pic.jp" ,"newfolder/pic.jpg"); 

は、それが

+0

おかげ砂:) –

0
String string = "http://www.abcd.com/en/sites/default/files/pic.jpg"; 
string.replace("files/", "files/newfolder/"); 
+0

がすごい..最も簡単な方法のように見える...おかげチャンドラSekhar ...てみましょう!私はそれをチェックアウト:) –

1

、交換機能を使用して、例えば、 "ファイル/新規フォルダ/" で "ファイルを/" 置き換えることができます願っています。

+0

Yh..iそれを得る..あなたの助けをありがとう:) –

+0

'ファイル'の前のパスにも 'ファイル'が含まれていると、置き換えられたソリューションは失敗します。たとえば、http:// www。 abcd.com/ja/sites/files/default/files/pic.jpg' – Johanna

+0

良いob彼の設定には関係ないかもしれない。 – thomas

0

これは動作します:

String input = "http://www.abcd.com/en/sites/default/files/pic.jpg"; 
int lastIndexOfSlash = input.lastIndexOf('/'); 
String result = input.substring(0, lastIndexOfSlash + 1) + "newfolder/" + input.substring(lastIndexOfSlash + 1); 
2

これは、 "新規フォルダ/ pic.jpg"

String str = "http://www.abcd.com/en/sites/default/files/pic.jpg"; 
str.substring(0, s.lastIndexOf("/") + 1) + "newfolder/pic.jpg"; 
+0

私の意見では、これは最高の(最も柔軟な)可能性があります(またはさらに一般的な 'str.substring(0、s.lastIndexOf("/")+ 1)+" newfolder "+部分文字列(s.lastIndexOf("/" )));)) ') – Johanna

1

を "/" 最後の後の部分を削除し、追加します方法について:

String parts[] = String.split(oldPath, "files\"); 
String newPath = parts[0] + "newfolder\" + parts[1]; 

私はそれをテストしていませんが、理論的にはうまくいくはずです。正規表現のバックスラッシュに問題があるかもしれませんが、もしそうなら、修正が簡単です。

よろしく、

-Harry

+0

ありがとうハリー:) –

0

これは動作するはずです:

String s = "http://www.abcd.com/en/sites/default/files/pic.jpg"; 
StringBuilder sb = new StringBuilder(s); 
sb.insert(sb.lastIndexOf("/"), "/newfolder"); 
s = sb.toString(); 
+0

いい方法...ありがとう:) –

関連する問題