Beh*_*016 7 powerquery powerbi
如果字符串"This is a test string"
包含任何字符串列表项,我想检查powerquery新列{"dog","string","bark"}
.
我已经尝试过Text.PositionOfAny("This is a test string",{"dog","string","bark"})
,但该函数只接受单字符值
Expression.Error: The value isn't a single-character string.
Run Code Online (Sandbox Code Playgroud)
对此有何解决方案?
在这种情况下,您需要将几个M 库函数组合在一起.
你会想Text.Contains
对列表多次使用,这是一个很好的例子List.Transform
.List.AnyTrue
会告诉你是否有任何字符串匹配.
List.AnyTrue(List.Transform({"dog","string","bark"}, (substring) => Text.Contains("This is a test string", substring)))
Run Code Online (Sandbox Code Playgroud)
如果你希望有一个Text.ContainsAny
功能,你可以写它!
let
Text.ContainsAny = (string as text, list as list) as logical =>
List.AnyTrue(List.Transform(list, (substring) => Text.Contains(string, substring))),
Invoked = Text.ContainsAny("This is a test string", {"dog","string","bark"})
in
Invoked
Run Code Online (Sandbox Code Playgroud)
小智 -2
您可以在此处使用正则表达式和逻辑 OR -|
表达式:
/dog|string|bark/.test("This is a test string") // retruns true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9299 次 |
最近记录: |