如何在Power Query中筛选排除含斜杠或4个单词的行?
Power Query 筛选排除含斜杠及4个单词的行
需要处理一列文本数据,筛选排除两类行:
- 包含斜杠“/”的行
- 由多个空格分隔的4个单词组成的行
目前已能识别含斜杠的行,但不知道如何识别4个单词的行,请求解决方法。
示例数据
The / house is / white The car is blue Xyz plane is white My Bike is green abc
当前代码
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains([Column1], "/") then True else False) in #"Added Conditional Column"
解决方法
要识别由多个空格分隔的4个单词的行,可通过拆分文本并统计有效单词数的方式实现,同时合并两个排除条件完成筛选:
修改后的完整代码
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Added Exclusion Flag" = Table.AddColumn(#"Changed Type", "需要排除", each Text.Contains([Column1], "/") or List.Count(List.RemoveItems(Text.Split([Column1], " "), {""})) = 4 ), #"Filtered Rows" = Table.SelectRows(#"Added Exclusion Flag", each [需要排除] = false) in #"Filtered Rows"
代码说明
Text.Split([Column1], " "):按单个空格拆分文本,连续多个空格会生成空字符串元素List.RemoveItems(..., {""}):移除拆分后列表中的空元素,得到仅包含有效单词的列表List.Count(...) = 4:判断有效单词的数量是否为4Table.SelectRows:筛选掉标记为需要排除=true的行,保留符合要求的剩余行
内容的提问来源于stack exchange,提问作者Rasec Malkic
相关产品推荐
相关产品推荐

