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

JavaScript字符串自动纠错函数错误修复:指定单词替换异常

问题分析

  1. 调用逻辑错误:把String.prototype.replaceAll当成普通函数调用,而非字符串实例方法,导致匹配逻辑混乱。
  2. 未限定独立单词:没有使用正则单词边界\b,导致非目标子串被误替换(比如"Our"的部分字符被错误处理)。
  3. 大小写匹配缺失:未添加正则i修饰符,无法匹配大小写不同的目标单词(如"You"、"YOU")。
  4. 替换目标与格式不符:需求是匹配"youuu"(4个u),代码里写的是"youuuu"(5个u);且替换结果未包裹<strong>标签,不符合示例要求。
  5. 自定义方法冗余:原生JS已有String.prototype.replaceAll,且自定义方法不支持批量替换map对象的逻辑。

修正后的代码

const autocorrect = str => {
  // 匹配独立单词:you/youuu/u,不区分大小写
  const targetRegex = /\b(you|youuu|u)\b/gi;
  return str.replace(targetRegex, '<strong>your client</strong>');
};

代码说明

  • 正则规则:
    • \b:单词边界,确保只匹配独立单词,避免替换"youtube"这类包含目标子串的非独立单词。
    • (you|youuu|u):匹配三个目标模式中的任意一个。
    • gi:g表示全局替换所有匹配项,i表示不区分大小写。
  • 替换逻辑:直接用原生replace方法,将匹配到的内容替换为带<strong>标签的指定文本。

测试验证

  • 输入:"We have sent the deliverables to you." → 输出:"We have sent the deliverables to <strong>your client</strong>."
  • 输入:"Our team is excited to finish this with you." → 输出:"Our team is excited to finish this with <strong>your client</strong>."
  • 输入:"youtube" → 输出:"youtube"
  • 输入:"YOUUU are awesome!" → 输出:"<strong>your client</strong> are awesome!"

内容的提问来源于stack exchange,提问作者Addi Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 14:20:28