急 java里用正则替换掉img标签的src里的内容
答案:2 悬赏:70 手机版
解决时间 2021-02-15 18:28
- 提问者网友:凉末
- 2021-02-14 18:03
急 java里用正则替换掉img标签的src里的内容
最佳答案
- 五星知识达人网友:行雁书
- 2021-02-14 19:41
我觉得可以先用正则把先匹配出imgName = “图片名.gif”,然后再替换:
content = content.replaceAll("(.*?)src=\"(.*?)","$1src=\"../image/" + imgName);追问图片名好取。但是上面的正则只能在src路径最前方加东西。而不是去替换。我着实不懂。但是也没什么好办法了。追答content = content.replaceAll("src=\"(.*?)\"","src=\"../image/" + imgName + "\"");
这么写,我测试了,没问题的追问这个确实能替换。但是循环获取名字的时候Java代码很繁杂,有没有可能 我只需要去通过正则匹配src中“路径+/图片名“中的路径部分,并且替换掉路径。这样就不涉及到取图片名的操作了。追答????什么情况,我最后回答的怎么没了。这都第三次发这个代码了
content = content.replaceAll("src=\"(.*?)/([\\w.]+)\"","src=\"../image/$2\"");
content = content.replaceAll("(.*?)src=\"(.*?)","$1src=\"../image/" + imgName);追问图片名好取。但是上面的正则只能在src路径最前方加东西。而不是去替换。我着实不懂。但是也没什么好办法了。追答content = content.replaceAll("src=\"(.*?)\"","src=\"../image/" + imgName + "\"");
这么写,我测试了,没问题的追问这个确实能替换。但是循环获取名字的时候Java代码很繁杂,有没有可能 我只需要去通过正则匹配src中“路径+/图片名“中的路径部分,并且替换掉路径。这样就不涉及到取图片名的操作了。追答????什么情况,我最后回答的怎么没了。这都第三次发这个代码了
content = content.replaceAll("src=\"(.*?)/([\\w.]+)\"","src=\"../image/$2\"");
全部回答
- 1楼网友:北城痞子
- 2021-02-14 20:47
正则替换效率非常低下的,建议不要用。你可以把图片用自动增长的数字表示,到时候可以动态拼接这样比较简单追问刚才用截取做过了。有个问题是,需要截取的字符串中包含很多src。而且src中图片格式也不一样,所以进行循环替换的时候,经常整篇替换成JPG或者gif了。追答你循环的方式不对吧,这个问题之前我也遇到过。是你的图片格式不统一还是替换后格式不统一。如果图片格式不统一那就判断下,针对不同格式的图片做相应处理追问循环前就不一样,如果分情况处理的话循环次数就会增多 。执行添加方法时间就会过长 所以我才问上面那哥们 用正则怎么破、。我正则太渣了追答贴代码看看啥情况
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯