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

C#如何使用Lambda表达式批量移除字符串中指定的无用词汇

错误原因
  • Select为投影操作,返回值类型为IEnumerable<string>,无法直接赋值给string类型变量,首先会触发编译报错。
  • 即使单独遍历Select返回的集合,每次替换逻辑都是基于原始input字符串执行,没有复用前一次替换后的结果,最终只能得到单次替换的效果,无法实现所有违禁词的批量移除。
解决方案

使用LINQ的Aggregate累加器即可实现单Lambda表达式完成所有替换操作,代码如下:

string output = _unWantedWords.Aggregate(input, (current, unwantedWord) => current.Replace(unwantedWord, string.Empty));

实现逻辑

  • Aggregate的第一个入参为迭代初始值,即待处理的原始输入字符串input
  • 第二个入参为迭代执行逻辑:current存储上一轮替换后的字符串结果,unwantedWord为当前遍历到的违禁词,每轮执行替换后返回新的字符串作为下一轮迭代的current值
  • 所有违禁词遍历完成后,返回的最终结果即为已移除全部违禁词的目标字符串

示例输入执行后得到的输出结果为mdjw ksjc d fjwu,符合预期要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:45:05