急 java里用正则替换掉img标签的src里的内容

publicstaticvoidmain(String[]args){Stringcontent="<p><imgstyle=\"width:356px;height:1... public static void main(String[] args) {
String content = "<p><img style=\"width:356px;height:163px;\" title=\"33\" alt=\"33\" src=\"/WorkStation/attached/20110802/20110802131500_758.gif\" width=\"33\" height=\"3\"</p>";
content = content.replaceAll("(.*?)src=\"(.*?)","$1src=\"../image$2");
System.out.println(content);
}
怎么把src内的内容 替换成“../image/图片名.gif” 。图片名不变,把图片名前面的地址替换成../image/
展开
 我来答
淡淡点墨
推荐于2017-11-26 · TA获得超过120个赞
知道答主
回答量:54
采纳率:75%
帮助的人:35.5万
展开全部
我觉得可以先用正则把先匹配出imgName = “图片名.gif”,然后再替换:

content = content.replaceAll("(.*?)src=\"(.*?)","$1src=\"../image/" + imgName);
更多追问追答
追问
图片名好取。但是上面的正则只能在src路径最前方加东西。而不是去替换。我着实不懂。但是也没什么好办法了。
追答
content = content.replaceAll("src=\"(.*?)\"","src=\"../image/" + imgName + "\"");
这么写,我测试了,没问题的
liangdianshine
2013-11-07 · 超过10用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:36万
展开全部
正则替换效率非常低下的,建议不要用。你可以把图片用自动增长的数字表示,到时候可以动态拼接这样比较简单
更多追问追答
追问
刚才用截取做过了。有个问题是,需要截取的字符串中包含很多src。而且src中图片格式也不一样,所以进行循环替换的时候,经常整篇替换成JPG或者gif了。
追答
你循环的方式不对吧,这个问题之前我也遇到过。是你的图片格式不统一还是替换后格式不统一。如果图片格式不统一那就判断下,针对不同格式的图片做相应处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式