java如何在两个模式匹配之间读写文本
我正在编写一个代码来读取文本文件,并根据模式给出输出 匹配
例如,如果“aa”出现在一个文件中,它应该从那里开始写入 直到它遇到另一个匹配的模式“}”
我已经编写了一个与模式匹配的代码。但它只打印匹配的图案
import java.util.regex.*;
import java.io.*;
public class Reader {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
File xmlFile = new File("location.txt");
Reader fileReader = new FileReader(xmlFile);
BufferedReader bufReader = new BufferedReader(fileReader);
StringBuilder sb = new StringBuilder();
String line = bufReader.readLine();
while( line != null){
sb.append(line).append("\n");
line = bufReader.readLine();
}
String string = sb.toString();
//System.out.println(string);
int indexHello = string.lastIndexOf("aa");
int indexBye = string.indexOf("}}", indexHello);
String newString = string.substring(indexHello, indexBye+1);
System.out.println(newString);}
bufReader.close();
}
}
预期结果应该是这样的
aa(所有内容,直到匹配“}”)……}
更新:不知怎么的,我能在“aa”和“}”之间阅读。现在,我的问题是——aa有各种各样的情况……}我想把它们全部打印出来
# 1 楼答案
祝你快乐。我希望你想要的是这个
如果对的话,我很高兴。否则,我很抱歉。 我不擅长英语。但我想帮忙。:)
它在aa,}之间打印