1、java获取markdown内容图片路径
/**
* 将markdown中的图片地址取出
*
* @param markdown markdown内容
*/
public static List<String> getMatchList(String markdown) {
List<String> imagePrefixList = Stream.of(".jpg", ".bmp", ".gif", ".ico", ".pcx", ".jpeg", ".tif", ".png").collect(Collectors.toList());
;
ArrayList<String> result = new ArrayList<>();
String[] split = markdown.split("\\!\\[Description\\]\\(");
for (String imgUrl : split) {
if (StringUtils.isNotBlank(imgUrl) && (imgUrl.startsWith("http://") || imgUrl.startsWith("https://"))) {
imagePrefixList.stream().filter(imagePrefix -> imgUrl.contains(imagePrefix)).forEach(imagePrefix -> result.add(imgUrl.substring(0, imgUrl.lastIndexOf(imagePrefix) + imagePrefix.length())));
}
}
return result;
}
如果只需要得到图片地址值,那么只需要方法一就可以了,方法二不需要
2、替换内容中的图片内容值,注意不是所有业务都需要替换,根据自己的实际业务来
/**
* 替换内容中的图片语法值
*
* @param markdown
*/
public static String repUrl(String markdown) {
String[] split = markdown.split("\\!\\[Description\\]\\(");
for (String imgUrl : split) {
if (StringUtils.isNotBlank(imgUrl) && (imgUrl.startsWith("http://") || imgUrl.startsWith("https://"))) {
log.info("图片路径---------:", imgUrl);
markdown = markdown.replace("![Description](" + imgUrl.substring(0, imgUrl.lastIndexOf(")")) + ")", "");
}
}
return markdown;
}