我嘗試了很多方法來做到這一點。對於正則表達式我完全陌生。 我想將所有img src鏈接替換爲其他鏈接。正則表達式如何替換img標籤中的src鏈接
我的html文件,只是有這樣的:
<img src="01"></img><img src="02"></img><img src="03"></img>
,或者它會是這樣:
< img src = "01"></img>< img src="02">< img src = "03"></img>
有可能是空間或者只是沒有 「</img>
」
,我想他們就像這樣:
<div><p><DIV class="a"><img src="01"></img></p></div><div><p><DIV class="a"><img src="02"></img></p></div><div><p><DIV class="a"><img src="03"></img></p></div>
,我用它來獲得IMG SRC鏈接:
Pattern p = null;
Matcher m = null;
p = Pattern.compile("<img[^>]*src\\s*=\\s*\"([^\"]*)");
m = p.matcher(mystr);
while (m.find()) {
imgIDList.add(m.group(1));
}
,我所做的STR列表替換: ArrayList的imgList4Replace =新的ArrayList();
,我用這個藉口替換:
mystr.replace(("<img[^>]*src\\s*=\\s*\""+imgListReplaceOriginal.get(nIndex)+"([^\"]*)"), imgList4Replace.get(nIndex)+"$2");
它只是不工作。我花了很多時間來測試。
而且需要你的幫助。 非常感謝。
[與string.replace](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replace%5C %28java.lang.CharSequence,%20java.lang.CharSequence%5C%29)方法不適用正則表達式。您應該使用[replaceAll](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replaceAll%28java.lang.String,%20java.lang.String%29)或[replaceFirst](http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replaceFirst%28java.lang.String,%20java.lang.String%29)而不是 – cubanacan
作爲附註 - 圖像不應該有結束標記。他們應該總是自我關閉:'' – MrMisterMan