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

Power Query(Excel独立版):识别并去除重复子串中的通用词

解决方法:Power Query M代码实现词根级重复词去重

思路拆解

针对你遇到的「词根重复(而非整词重复)」的文本清理需求,核心思路是先识别单词共享的词根,再每组保留最具特异性的单词(比如排除"Nuts"/"Berries"这类通用词,优先保留"Hazelnut"/"Raspberry"这类具体词):

  1. 将文本拆分为单个单词的列表
  2. 为每个单词标记对应的核心词根(nut/berry)
  3. 按词根分组,每组筛选移除通用词,保留最具体的单词
  4. 合并筛选后的单词为最终文本

具体步骤 & M代码

假设你的目标列名为[TextColumn],可以直接在Power Query中添加自定义列,粘贴以下代码:

let
    // 替换为你的目标列名
    InputText = [TextColumn],
    // 拆分文本为单词列表
    WordList = Text.Split(InputText, " "),
    // 为每个单词匹配词根(不区分大小写)
    TaggedWords = List.Transform(WordList, (word) => [
        Word = word,
        Root = if Text.Contains(Text.Lower(word), "nut") then "nut" 
               else if Text.Contains(Text.Lower(word), "berry") then "berry" 
               else null
    ]),
    // 按词根分组,收集同词根的单词
    GroupedByRoot = Table.Group(Table.FromList(TaggedWords, Splitter.SplitByNothing()), "Root", {{"Words", each [Word]}}),
    // 定义筛选逻辑:移除通用词,保留最具体的单词
    KeepSpecificWord = (wordList as list) => 
        let
            // 可自定义扩展需要排除的通用词
            GenericWords = {"Nuts", "Berries", "Nut", "Berry"},
            FilteredList = List.RemoveItems(wordList, GenericWords),
            // 过滤后有内容就取最长的(通常更具体),否则取原列表最长词
            Result = if List.Count(FilteredList) > 0 then 
                        List.Max(FilteredList, (w) => Text.Length(w)) 
                     else 
                        List.Max(wordList, (w) => Text.Length(w))
        in
            Result,
    // 对每个词根组应用筛选
    FilteredGroups = Table.AddColumn(GroupedByRoot, "SpecificWord", each KeepSpecificWord([Words])),
    // 收集最终单词并合并
    FinalWords = FilteredGroups[SpecificWord],
    ResultText = Text.Combine(FinalWords, " ")
in
    ResultText

自定义调整说明

  • 如果需要排除更多通用词,直接在GenericWords列表里添加即可(比如"Nutty"这类泛称)
  • 要支持更多词根(比如"fruit"),在TaggedWords的Root判断分支里增加对应条件
  • 代码默认忽略大小写,不用担心"Nut"和"nut"的匹配问题

用你的示例输入Hazelnut Berries Nuts Raspberry测试:
拆分后同词根组为{"Hazelnut", "Nuts"}(nut词根)和{"Berries", "Raspberry"}(berry词根),筛选后自动移除通用词,最终输出Hazelnut Raspberry,完全符合需求!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:38:14