您的位置:首页 > 编程语言 > Java开发

java替换字符串中符合正则表达式的内容

2015-05-25 15:44 585 查看
废话不多说,直接上代码!注解很详细!不懂留言!转载说明出处,谢谢
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: