我有一些包含圖像的html字符串。我需要從圖像名稱刪除空間,因爲有些片劑不接受他們。 (我已經重新命名了所有圖像資源)。我認爲唯一的修復部分是...正則表達式從文件名中刪除空格
src="file:///android_asset/images/ ?? ?? .???"
因爲這些鏈接是有效的鏈接。
我花了半天的時間,仍然在性能問題上苦苦掙扎。下面的代碼工作,但很慢...
public static void main(String[] args) {
String str = "<IMG height=286 alt=\"eye_anatomy 1.jpg\" src=\"file:///android_asset/images/eye_anatomy 1 .jpg\" width=350 border=0></P> fd ssda f \r\n"
+ "fd <P align=center><IMG height=286 alt=\"eye_anatomy 1.jpg\" src=\"file:///android_asset/images/ eye_anato my 1 .bmp\" width=350 border=0></P>\r\n"
+ "\r\n<IMG height=286 alt=\"eye_anatomy 1.jpg\" src=\"file:///android_asset/images/eye_anatomy1.png\" width=350 border=0>\r\n";
Pattern p = Pattern.compile("(.*?)(src=\"file:///android_asset/images/)(.*?\\s+.*?)(\")", Pattern.DOTALL);
Matcher m = p.matcher(str);
StringBuilder sb = new StringBuilder("");
int i = 0;
while (m.find()) {
sb.append(m.group(1)).append(m.group(2)).append(m.group(3).replaceAll("\\s+", "")).append(m.group(4));
i = m.end();
}
sb.append(str.substring(i, str.length()));
System.out.println(sb.toString());
}
所以真正的問題是,我怎麼能高效地使用正則表達式從圖像名稱中的空格。
謝謝。
您能分享哪些平板電腦不喜歡帶空格的名稱嗎? –
Oli,感謝您的稱號。但以下代碼在所有模擬器和星系手機上都可以,但在我的xoom上不能。第二個img沒有顯示。 @Override 公共無效的onCreate(捆綁savedInstanceState){ super.onCreate(savedInstanceState); WebView webView = new WebView(this); 字符串htmlString = 「
」 + 「」 + 「」 + 「」; webView.loadDataWithBaseURL(null,htmlString,「text/html」,「utf-8」,null); setContentView(webView); } – ThinkChris