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

如何在C#中仅替换独立单词'ad'为'and',避免替换包含'ad'的词?

解决方案

要只替换独立的单词ad而不影响包含ad的其他单词,你需要使用正则表达式的单词边界匹配,而非简单的字符串替换。C#中的Regex.Replace方法可以实现这个需求。

修改后的代码

首先确保引入正则表达式命名空间:

using System.Text.RegularExpressions;

然后修改你的函数:

public static string Autocorrect(string input) 
{
    // 使用单词边界\b匹配独立的"ad"单词
    return Regex.Replace(input, @"\bad\b", "and");
}

原理说明

  • \b是正则表达式中的单词边界元字符,它匹配单词字符(字母、数字、下划线)与非单词字符的分界位置,或是字符串的开头/结尾位置。
  • \bad\b会精准匹配独立的ad单词:
    • 不会匹配ads中的ad(ad后跟着字母s,无单词边界)
    • 不会匹配mad中的ad(ad前跟着字母m,无单词边界)
    • 会匹配单独的ad,或是前后为空格、标点的ad(比如hello ad!里的ad)

扩展:忽略大小写匹配

如果需要同时替换Ad、AD等大小写变体,可以添加RegexOptions.IgnoreCase参数:

public static string Autocorrect(string input) 
{
    return Regex.Replace(input, @"\bad\b", "and", RegexOptions.IgnoreCase);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 02:20:36