Java 如何在文本文件中搜索以a结尾的单词,然后在这些单词后面附加r?(爪哇)

Java 如何在文本文件中搜索以a结尾的单词,然后在这些单词后面附加r?(爪哇),java,Java,我有一个包含电影脚本的文件,我试图在所有以“a”结尾的单词后面加上“r”。任何帮助都将不胜感激 这可以使用String.replaceAll方法完成,如下所示: String script = "a cuba is a bla bla country"; System.out.println(script.replaceAll("a(\\s+)", "ar$1")); // this gives the result of "ar cubar is ar blar blar country"

我有一个包含电影脚本的文件,我试图在所有以“a”结尾的单词后面加上“r”。任何帮助都将不胜感激

这可以使用String.replaceAll方法完成,如下所示:

String script = "a cuba is a bla bla country";
System.out.println(script.replaceAll("a(\\s+)", "ar$1"));
// this gives the result of "ar cubar is ar blar blar country"

replaceAll
的第一个参数是一个正则表达式,表示任何以
a
和一个或多个空格结尾的内容。第二个参数是替换,它在
a
之后附加
r
,并保留第一个捕获组,即空白。

我们可以将此问题分为三个主要阶段:

  • 从文件中读取
  • 修改以“a”结尾的单词
  • 写回文件
  • 我们可以使用文件阅读器访问文件,然后使用扫描仪读取每个单词。有关如何执行此操作的示例,请参见

    要检查每个单词是否以“a”结尾,我们可以将最后一个字符与“a”进行比较。如果是这种情况,我们可以使用Java的字符串连接将“r”附加到该字符串:

        if(word.charAt(word.length()-1) == 'a'){
            word = word + 'r';
        }
    
    最后,我们可以使用Java将所有这些写回一个文件。

    试试这个

    System.out.println(script.replaceAll("\\b.*?a\\b", "$0r"));
    

    \b.*?a\b
    将匹配以
    a

    结尾的边界词库巴是弗罗里达海岸附近的一个小岛屿国家。任何代码都将不胜感激!到目前为止你尝试了什么?这不是免费的编码服务。我们希望您向我们展示您的尝试,并解释您在解决问题时遇到的困难。