废话不多说,直接上代码!注解很详细!不懂留言!转载说明出处,谢谢
public static void main(String[] args){
String content = "你好{{<img>}},我们向大家介绍一下新产品,请看图片{{<img>}},{{<img>}},{{<img>}},{{<img>}}.....";
List<String> picList = new ArrayList<String>();
picList.add("www.pic1");
picList.add("www.pic2");
picList.add("www.pic3");
picList.add("www.pic4");
picList.add("www.pic5");
String reuslt = replaceImgTag(content,picList);
System.out.println(reuslt);
}
/**
* 替换字符串中符合正则表达式的内容
*
* @param content 文章内容,例如(你好{{<img>}},我们向大家介绍一下新产品,请看图片{{<img>}},{{<img>}},{{<img>}},{{<img>}}.....)
* @param picList 图片集合(有序)
* @return 你好<p><img src="www.pic1.com"/></p>,我们向大家介绍一下新产品,请看图片<p><img src="www.pic2.com"/></p>....太长省略不写....
* 在页面中使用<pre><pre/>标签按原有格式展现出来
*/
static final String IMG_TAG = "<p><img src=\"{src}\" /></p>";
public static String replaceImgTag(String content,List<String> picList){
String newconten = content.replace("{{<img>}}", IMG_TAG);
Pattern p = Pattern.compile("\\{src\\}");
Matcher m = p.matcher(newconten);
StringBuffer sb = new StringBuffer ();
boolean result = m.find();
int i=0;
while (result){
m.appendReplacement(sb, picList.get(i));
i++;
result = m.find();
}
m.appendTail(sb);
return sb.toString();
}