我想搜索文本字符串列表,找到哪些字符串包含多个单词或短语,并获取相应行的值。例如,如果我有以下列,我怎么能搜索它以找到其中带有“red”或“blue jean”的行,并获取它们的值,无论大小写(上/下)?
我知道我可以使用List.FindText({[Column1]},"red")
查找并返回带有“red”的所有行的值,但我无法弄清楚如何使用“red”查找并返回所有行的值或“蓝色牛仔裤”马上就在他们身上。
答案 0 :(得分:1)
您可以使用List.Transform和Text.Contains:
的组合let
Source = #table(1,{
{"The red barn"},
{"A red car"},
{"Blue jeans"},
{"Green beans"},
{"Atlanta"},
{"Chicago"}
}),
LookUp = #table(1, {{"red"}, {"blue jean"}}),
#"Filtered Rows" =
Table.SelectRows(
Source,
(r)=> List.AnyTrue(
List.Transform(
LookUp[Column1],
each Text.Contains(r[Column1], _, Comparer.OrdinalIgnoreCase)
)
)
)
in
#"Filtered Rows"
如果是大查找表,您可以在过滤步骤之前添加List.Buffer(LookUp[Column1])
步骤