我想使用java从文件(包含超过20,000行文本)中的两个所需字符串(模式)之间抓取并显示多行字符串
例如:file.txt(超过 20,000 行文本) 模式1 字符串 我 想 抢 模式2
我想抓取并显示这两个模式(模式1和模式2)之间的文本,在本例中是“我/n想要/n抓取的字符串/n” 我怎样才能做到这一点 我尝试了 Bufferreader、file、string 和其他一些东西,但没有任何效果
抱歉我是菜鸟
最佳答案
你的图案有几行吗?
一个简单的解决方案是存储文件的内容,然后使用正则表达式检查您的模式:
try {
BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt")));
final StringBuilder contents = new StringBuilder();
while(reader.ready()) { // read the file content
contents.append(reader.readLine());
}
reader.close();
Pattern p = Pattern.compile("PATTERN1(.+)PATTERN2"); // prepare your regex
Matcher m = p.matcher(contents.toString());
while(m.find()){ // for each
String b = m.group(1);
System.out.println(b);
}
} catch(Exception e) {
e.printStackTrace();
}
关于java - 如何从java文件中获取并显示两个字符串(模式)之间的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61508103/