我想在文件中找到一个带编号的模式(我成功完成),使用该类中的另一个方法(我也成功地将其转换为我想要的数字格式)......
我的问题是我想用以前的数字格式(我不知道如何)替换新的数字格式,并将其写入新文件。
String INPUT = "D:\\input.txt";
String OUTPUT = "D:\\output.txt";
String all = "";
Pattern regexp = Pattern.compile("\"(\\d{14}.{2}\\d{4})\"");
try (BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(INPUT), "UTF-8"))) {
String CurrentLine;
while ((CurrentLine = in.readLine()) != null) {
Matcher matcher = regexp.matcher(CurrentLine);
if (matcher.find()) {
String number1 = CurrentLine.substring(10,20);
String number2 = CurrentLine.substring(30,40);
number1 = convertor(number1);
number2 = convertor(number2);
}
all = all + sCurrentLine + "\r\n"; \\create output to use for BufferedWriter
}
BTW上面的代码(很明显)只是我整个代码的一部分。
答案 0 :(得分:0)
要保存输出,只需在循环结束时执行此操作。
Files.write(Paths.get(OUTPUT), all.getBytes(), StandardOpenOption.CREATE);
matcher
对象甚至返回组(\d{14}.{2}\d{4})
匹配的位置。我建议仔细检查一下你的代码,以帮助自己。
使用matcher.start(1)
获取上一次匹配操作期间组捕获的子序列的起始索引。