场景描述
从一个.md
文件中获得到这个文件中使用到的所有图片的链接
代码
首先我先通过正则表达式".*<img.*/>"
获取到了md文件中的所有img
标签,通过对获得到的结果进行观察,发现可以直接根据双引号进行分割,因此使用str.split("\"")
将字符串根据双引号进行分割,添加\
是为了转义
import java.io.*;
public class Main {
public static void main(String[] args) {
try{
// 需要读取的文件路径
String path = "D:\\code\\java\\typoraImgTypeTrans\\04_Process.md";
File file = new File(path);
// 判断文件是否存在
if (file.isFile() && file.exists()){
System.out.println("fileExist");
InputStreamReader read = new InputStreamReader(new FileInputStream(file));
BufferedReader bufferedReader = new BufferedReader(read);
String lineText = null;
String regularExpression = ".*<img.*/>";// 正则表达式
// 按行读取文件并打印,如果需要对内容进行操作可以在这里进行
while((lineText = bufferedReader.readLine())!=null){
if (lineText.matches(regularExpression)){
System.out.println(lineText);
// 观察被切分的字符串可以确定需要的是第一项
String imgFileName = lineText.split("\"")[1];
System.out.println(imgFileName);
}
}
}else{
System.out.println("file doesn't exist");
}
} catch(IOException e){
e.printStackTrace();
}
}
}
运行结果
结果如下图