Java文字列メソッドを使用するreplaceAll(regex, replacement)
どこ
String regex = "(http://server\\.com/)[^<]+(/[^<]+)";
と
String directory = "images";
String replacement = "$1" + directory + "$2";
これは変わります
http://server.com/stuff1/img1.jpg
の中へ
http://server.com/images/img1.jpg
例えば:
String content = "<img src=\"http://server.com/stuff1/img1.jpg\"><img src=\"http://server.com/stuff1/img2.jpg\"><img src=\"http://server.com/stuff1/img3.jpg\">"
String regex = "(http://server\\.com/).+(/img1\\.jpg)";
String directory = "images";
String replacement = "$1" + directory + "$2";
content = content.replaceAll(regex, replacement);
System.out.println(content);
出力します:
<img src="http://server.com/images/img1.jpg"><img src="http://server.com/images/img2.jpg"><img src="http://server.com/images/img3.jpg">
完全なホスト名をスキップして相対パスを使用する場合は、次のように変更replacement
します。
String replacement = directory + "$2";
これは変わります
http://server.com/stuff1/img1.jpg
の中へ
images/img1.jpg