「http://www.abcd.com/en/sites/default/files/pic.jpg」String
などのウェブサイトのURLを持っています。/files/を/newfolder/に変更するなど、パス値の一部を変更できるように、この文字列を分割したいと思います。
これは簡単に達成できますか?
String[] afterSplit = yourString.split("files/");
String newString = afterSplit[0];
newString += "/newfolder/";
newString += afterSplit[1];
分割を要求したため、標準のString.split()メソッドを使用します。newStringは、結果の文字列です。
これにより、最後の「/」の後の部分が削除され、「newfolder/pic.jpg」が追加されます
String str = "http://www.abcd.com/en/sites/default/files/pic.jpg";
str.substring(0, s.lastIndexOf("/") + 1) + "newfolder/pic.jpg";
たとえば、replace関数を使用して、「files/」を「files/newfolder/」に置き換えます。
どうですか:
String parts[] = String.split(oldPath, "files\");
String newPath = parts[0] + "newfolder\" + parts[1];
私はそれをテストしていませんが、理論的には動作するはずです。正規表現のバックスラッシュに問題がある可能性がありますが、その場合は簡単に修正できます。
よろしく、
-ハリー
string.replace("pic.jp" ,"newfolder/pic.jpg");
それが役に立てば幸い
String string = "http://www.abcd.com/en/sites/default/files/pic.jpg";
string.replace("files/", "files/newfolder/");
これは機能します:
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);
これは機能するはずです:
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();