场景描述
很多时候,我们后台数据库里会保存网页标签内容,方便 APP 端或者网页端显示动态页面,存放的内容例如:<p>message</p><p><img src="123-456-789.jpg" title="图片"/></p> 。让我们从内容中获取图片的路径作为标题图片。
功能实现
- 方法一
使用字符串截取的方式进行截取:
int startIndex = content.indexOf("img src=");
int endIndex = content.indexOF(" title");
imageUrl = content.substring(startIndex, endIndex);
然而,当 title 的位置不固定的时候,这种方法就不适用了。为了保险起见,使用正则表达式可能会更好。
- 方法二
使用正则进行筛选
private String getImageUrl(String htmlString) {
String imagePic = "";
Set<String> pictures = new HashSet<>();
String img = "";
Pattern img_p ;
Matcher img_m;
String regEx_img = "<img.*src=\".*?>";
img_p = Pattern.compile(regEx_img,Pattern.CASE_INSENSITIVE);
img_m = img_p.matcher(htmlString);
while (img_m.find()){
img = img_m.group();
Matcher matcher = Pattern.compile("src=\"?(.*?)(\"|>|\\s+)").matcher(img);
while (matcher.find()){
pictures.(matcher.group(1));
}
}
for (String pic : pictures) {
if (pic!=null) {
imagePic = pic;
return imagePic;
}
}
return imagePic;
}
使用这种方式就可以随时随地的获取图片的路径了。其中 pictures 就是获取标签内容中所有的图片路径。
坚持看书,坚持学习,每天进步一小步,就会进步一大步。
网友评论