2014-08-28 67 views
2

我有這個img標記從服務器。任何人都可以告訴代碼從下面的標籤中提取圖像鏈接。提取圖像src從<img>在Android標記

> <img id="prescription_image" 
> onClick=showPrescriptionDetails("34173cb38f07f89ddbebc2ac9128303f") 
> onmouseover="this.style.cursor='pointer'" 
> src="http://patient/1409210919.png" width="20" height="20"> 

非常感謝。

int start = tags.indexOf("src=\"") + 5; 
int end = tags.indexOf("\"", start); 

String src = tags.substring(start, end); 

回答

5

沿東西線

String html = "<img SRC=\"whatever\">whatever</img>" 
String imgRegex = "<[iI][mM][gG][^>]+[sS][rR][cC]\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>"; 

Pattern p = Pattern.compile(imgRegex); 
Matcher m = p.matcher(html); 

if (m.find()) { 
    String imgSrc = m.group(1); 
} 

這會照顧的可能大/小寫問題,這些問題以前的解決方案了,而且還試圖處理更多不尋常的案例。

+0

對於大寫表示法的可能處理在這裏我覺得很有用。 – Jitsu 2014-08-28 10:01:32

+0

@Jitsu處理不存在的src屬性也很有用。然而,OP向我們展示了一個輸入的例子,並沒有說出它改變的可能性,因此我的答案是。 – Simas 2014-08-28 10:04:26

2

更傻瓜證明使用正則表達式: