如何在文本字符串列表中搜索多个单词或一组单词?

How can I search a list of text strings for more than one word or collection of words?

我想搜索文本字符串列表,查找其中哪些字符串包含多个单词或短语,并获取相应行的值。例如,如果我有以下列,我如何搜索它以找到其中包含 "red" 或 "blue jean" 的行,并获取它们的值,而不考虑大小写 (upper/lower)?

我知道我可以使用 List.FindText({[Column1]},"red") 来查找和 return 使用 "red" 的所有行的值,但我不知道如何查找和 [=24] =] 一次包含 "red" 或 "blue jean" 的所有行的值。

您可以使用 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"

在大查找的情况下 table 您可以在过滤步骤

之前添加一个带有 List.Buffer(LookUp[Column1]) 的步骤