从kdb的列表中删除一些项目

时间:2019-06-13 16:04:04

标签: kdb

下面是表格列表

q)tables[]
`abc`def`j`l_data`l_data1`l_data2`s`t

我正在尝试从表名列表中删除一些表名,但失败了,不幸的是,经过大量的努力,下面的代码无法提供预期的输出结果

(string each tables[])_/:(string each tables[])?("def";"l_data*") 
/ Trying to remove tables - def, all table names like l_data*
/ Expected output - `abc`j`s`t

想不出使用inter的解决方案。

2 个答案:

答案 0 :(得分:4)

 q) a where all not (a:tables[]) like/: ("def";"l_data*")

答案 1 :(得分:1)

您也可以通过使用except来避免每个正确的副词和all函数:

(tables[] where not tables[] like "l_data*") except `def

还要注意,使用正则表达式不需要字符串转换