字符串列上的模式匹配
Pattern Match on String Column
在许多函数式编程语言中,有一种方法可以进行模式匹配,例如 F# 有 match expression with
。
在我的用例中,我想将一个字符串与一组 strings/regexes 和 return 匹配一个值(字符串):
// path:string
iif(path == '/', 'home',
iif(path == '/search', 'search',
iif(path == '/*/*/*-for-sale-*', 'product',
'other',
)))
iif
语法确实很难看。有没有更简洁的方法来查找字符串匹配和 return 值?
case() 有一个相对较新的语法:
range Size from 1 to 15 step 2
| extend bucket = case(Size <= 3, "Small",
Size <= 10, "Medium",
"Large")
在许多函数式编程语言中,有一种方法可以进行模式匹配,例如 F# 有 match expression with
。
在我的用例中,我想将一个字符串与一组 strings/regexes 和 return 匹配一个值(字符串):
// path:string
iif(path == '/', 'home',
iif(path == '/search', 'search',
iif(path == '/*/*/*-for-sale-*', 'product',
'other',
)))
iif
语法确实很难看。有没有更简洁的方法来查找字符串匹配和 return 值?
case() 有一个相对较新的语法:
range Size from 1 to 15 step 2
| extend bucket = case(Size <= 3, "Small",
Size <= 10, "Medium",
"Large")