You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java中查找文本文件里以a结尾的单词并追加r?

Java实现:查找电影剧本中以a结尾的单词并追加字母r

没问题,我来帮你搞定这个需求!下面是针对电影剧本这类文本的具体实现思路和代码示例:

实现思路

  • 读取文件内容:用Java 11+提供的Files.readString方法快速读取文本文件,比传统IO类更简洁高效。
  • 精准匹配单词:借助正则表达式定位以小写字母a结尾的完整单词,这里重点要用到单词边界规则,避免误匹配单词中间的a字符。
  • 替换并保存结果:把符合条件的单词末尾追加r,然后写入新文件(推荐不要直接覆盖原文件,防止数据丢失)。

完整代码示例

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MovieScriptWordModifier {
    public static void main(String[] args) {
        // 请替换成你的实际文件路径
        String inputScriptPath = "your/movie_script.txt";
        String outputScriptPath = "your/modified_movie_script.txt";

        try {
            // 读取原剧本内容
            String scriptText = Files.readString(Paths.get(inputScriptPath));

            // 正则表达式:匹配以小写a结尾的完整单词
            // 如果需要兼容大写A结尾的单词,把正则改为 "(?i)\\b(\\w+a)\\b"
            Pattern targetPattern = Pattern.compile("\\b(\\w+a)\\b");
            Matcher matcher = targetPattern.matcher(scriptText);

            // 替换操作:在匹配到的单词末尾追加r
            String modifiedScript = matcher.replaceAll("$1r");

            // 将修改后的内容写入新文件
            Files.writeString(Path.of(outputScriptPath), modifiedScript);

            System.out.println("处理完成!修改后的剧本已保存到:" + outputScriptPath);
        } catch (IOException e) {
            System.err.println("处理文件时出现错误:" + e.getMessage());
            e.printStackTrace();
        }
    }
}

关键细节说明

  • 正则表达式解析:\b(\w+a)\b
    • \b:单词边界,确保我们匹配的是独立完整的单词(比如不会把"drama"里的a当成单独匹配项,而是匹配整个"drama")
    • (\w+a):捕获组,\w+匹配任意字母/数字/下划线,a锁定结尾的小写a,整个捕获组用来提取目标单词
    • $1r:替换时引用捕获到的单词,再追加字母r,实现"drama"→"dramar"的效果
  • 版本兼容提示:如果你的项目用的是Java 11以下版本,我可以给你补充基于BufferedReader/BufferedWriter的实现代码。
  • 大小写适配:如果需要匹配以大写A结尾的单词,只需要把正则表达式改成"(?i)\\b(\\w+a)\\b",(?i)标志会开启忽略大小写模式。

内容的提问来源于stack exchange,提问作者Rjaa Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:23:10