Java-如何搜索特定的字符串,组合两个字符串并用另一个单词替换一个单词?

问题描述 投票:-4回答:1

我是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.``

我应该使用什么?我应该如何使用它?您可以为此写一个小脚本吗?那确实对我找到工作原理很有帮助。令牌生成器?或者我应该使用哪些其他功能?

谢谢。

[如果需要澄清,请告诉我。

java regex tokenize
1个回答
0
投票

工作代码:

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));
© www.soinside.com 2019 - 2024. All rights reserved.