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

如何编写Java程序实现输入文本、查找指定单词并替换后输出?

解决文章单词批量替换的问题

我看了你的代码,现在它的逻辑是让用户逐个输入单词再排序替换,这和你想要的「粘贴整篇文章、批量替换指定单词」的需求不太匹配。咱们一步步调整,实现你想要的功能:

现有代码的核心问题

  • 目前是逐个输入单词,不支持直接粘贴整篇文章
  • 替换操作只修改第一个匹配项,还会打乱原文的语序
  • 没考虑文章里的标点(比如test,或test.),会导致匹配不到带标点的目标单词

修改后的完整代码

import java.util.Scanner;

public class ArticleWordReplacer {
    public static void main(String args[]) {
        // 让用户直接粘贴整篇文章
        String article = getInputFromKeyboard("请粘贴你要处理的文章:");
        
        // 获取要替换的目标单词和替换后的新单词
        String targetWord = getInputFromKeyboard("请输入要查找的单词:");
        String newWord = getInputFromKeyboard("请输入替换后的单词:");
        
        // 执行精准替换,保留原文格式
        String modifiedArticle = replaceTargetWord(article, targetWord, newWord);
        
        // 输出最终结果
        System.out.println("\n替换后的文章:");
        System.out.println(modifiedArticle);
    }

    private static String getInputFromKeyboard(String prompt) {
        System.out.print(prompt);
        Scanner scanner = new Scanner(System.in);
        // 用nextLine获取整行输入,支持带空格的完整文章
        return scanner.nextLine();
    }

    private static String replaceTargetWord(String article, String targetWord, String newWord) {
        // 用正则单词边界\b确保只匹配独立单词,避免误改类似testing这种包含目标词的内容
        // 如果需要忽略大小写匹配,可在正则前加(?i),比如"(?i)\\b" + targetWord + "\\b"
        targetWord = java.util.regex.Pattern.quote(targetWord); // 处理目标词里的特殊字符
        return article.replaceAll("\\b" + targetWord + "\\b", newWord);
    }
}

代码功能说明

  1. 支持整篇文章输入:直接获取用户粘贴的完整文章,不需要拆分逐个输入单词
  2. 精准批量替换:replaceAll会替换文章中所有符合条件的单词,且用\b确保只匹配独立单词,不会误改类似testing这种包含目标词的内容
  3. 保留原文格式:全程不会改变文章的语序、空格和标点,只替换目标单词
  4. 兼容特殊字符:用Pattern.quote处理目标词里的特殊字符(比如$、.),避免正则报错

可选优化

如果需要忽略大小写匹配(比如同时替换Test和test),可以把替换方法改成:

private static String replaceTargetWord(String article, String targetWord, String newWord) {
    targetWord = java.util.regex.Pattern.quote(targetWord);
    return article.replaceAll("(?i)\\b" + targetWord + "\\b", newWord);
}

这样调整后,代码就完全符合你的需求了——粘贴文章,指定要替换的单词,一键完成所有替换,还能完美保留原文格式~

内容的提问来源于stack exchange,提问作者Owen Smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:14:02