我是JAVA的新手。您将如何处理这种情况:假设我有一串这样的文字:
Firs LineAngel: My job is a programmer.
第二行Date since working: 13.05.2020
第三行:"Empty"
第四行:=Tonny: I like going to my job.
第五行:= Date since working: 19.03.2018
现在,我想像这样重现它:
13.05.2020 Angel My job is a programmer.
19.03.2018 Tonny I like going to my job.
现在我想用工作一词代替工作一词。
最终结果应类似于:
``13.05.2020 Angel My work is a programmer.``
``19.03.2018 Tonny I like going to my work.``
我应该使用什么?我应该如何使用它?您可以为此写一个小脚本吗?那确实对我找到工作原理很有帮助。令牌生成器?或者我应该使用哪些其他功能?
谢谢。
[如果需要澄清,请告诉我。
工作代码:
Pattern p = Pattern.compile(".*(\\d{2}\\.\\d{2}\\.\\d{4})$");
BufferedReader reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/test.txt")));
String line;
List<String> selection = new ArrayList<>();
List<String> result = new ArrayList<>();
while ((line = reader.readLine()) != null) {
selection.add(line);
if (!line.matches("^$")) {
if (selection.size() >= 2) {
Matcher m = p.matcher(selection.get(1));
if (m.find()) {
String date = m.group(1);
result.add(String.format("%s %s", date, selection.get(0)));
selection.clear();
}
}
} else {
selection.clear();
}
}
System.out.println(String.join("\n", result));