开发碰到某需求,需要将一串<p><img src="\\url"><p><p><img src="\\url"><p>....类似这种字符串通过WebView展示在界面上,我们直接通过WebView.loadDataWithBaseURL()方法展示,运行后发现无法显示图片,原因是"\\url"图片链接前面没加“http:”或"https:"。
当前解决方案是在“<img src =\"”后面添加“https:”即可解决此问题,现在上代码:
/**
* 在某字符前后添加字段
* @param stringBuilder:原字符串
* @param keyword:字符
* @param before:在字符前需要插入的字段
* @param rear:在字符后需要插入的字段
* @return
*/
public static String replacementInfo(StringBuilder stringBuilder, String keyword, String before, String rear) {
//字符第一次出现的位置
int index = stringBuilder.indexOf(keyword);
while (index != -1) {
stringBuilder.insert(index, before);
stringBuilder.insert(index + before.length() + keyword.length(), rear);
//下一次出现的位置,
index = stringBuilder.indexOf(keyword, index + before.length() + keyword.length() + rear.length() - 1);
}
return stringBuilder.toString();
}
调用时的代码:
replacementInfo(new StringBuilder(原字符串),"<img src=\"","","https:")