字符串截取问题

Whisper_a 2012-08-11 11:14:59
字符串:"<p><img alt="" width="112" height="150" src="/WebRoot/UserFiles/image/8.jpg"/></p>"
要求截取"/UserFiles/image/8.jpg" 而且字符串是不固定的, 不如也有可能是9.jpg XX.jpg等等。。

求教大神了。
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
makai3 2012-08-12
  • 打赏
  • 举报
回复

String s = "<img alt=\"\" width=\"112\" height=\"150\" src=\"/WebRoot/UserFiles/image/8.jpg\"/>";
s = s.substring(s.indexOf("src=\"")+5, s.lastIndexOf("\""));
System.out.println(s);


结果:

/WebRoot/UserFiles/image/8.jpg
wrong1111 2012-08-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

什么是正则。。怎么搞定 求指教啊。引用 1 楼 的回复:

/UserFiles/image/8.jpg


红色部分若是固定的,写个简单的正则即可搞定
[/Quote]

按上面的思路,写了个

String str = "<p><img alt=\"\" width=\"11\" height=\"150\" src=\"/WebRoot/UserFiles/image/8.jpg\"/></p><p><img alt=\"\" width=\"11\" height=\"150\" src=\"/WebRoot/UserFiles/image/xx.jpg\"/></p>";
String match = "(/WebRoot/UserFiles/image/(.*?).jpg)";
java.util.regex.Pattern p = Pattern.compile(match);
java.util.regex.Matcher matcher = p.matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
}

roooot 2012-08-11
  • 打赏
  • 举报
回复
你就是要截取src的内容啊,先把这个字符串变成stringbuffer
再用str.indexof()定位src后面的"/"啊,再定位后面一个"/",然后用sbustring截取中间部分
龙四 2012-08-11
  • 打赏
  • 举报
回复
/UserFiles/image/8.jpg


红色部分若是固定的,写个简单的正则即可搞定
a8141036 2012-08-11
  • 打赏
  • 举报
回复
一个笨一点的办法:
int index = src.lastIndexOf("\/");
string filename = src.substring(index+1); 这样就可以得到文件名了 xxx.jpg
Whisper_a 2012-08-11
  • 打赏
  • 举报
回复
什么是正则。。怎么搞定 求指教啊。[Quote=引用 1 楼 的回复:]

/UserFiles/image/8.jpg


红色部分若是固定的,写个简单的正则即可搞定
[/Quote]
Whisper_a 2012-08-11
  • 打赏
  • 举报
回复
求完整代码,JAVA不怎么好。。[Quote=引用 2 楼 的回复:]

你就是要截取src的内容啊,先把这个字符串变成stringbuffer
再用str.indexof()定位src后面的"/"啊,再定位后面一个"/",然后用sbustring截取中间部分
[/Quote]

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧