gpt4 book ai didi

kdb - 替换列表中与 KDB Q 中的子字符串不匹配的元素

转载 作者:行者123 更新时间:2023-12-04 18:33:47 25 4
gpt4 key购买 nike

如何遍历 KDB Q 中的列表并替换不符合特定子字符串条件的元素?

逻辑示例伪代码:

list.stream()
.forEach(x -> {
if (x matches substring) :
newList.add(x)
else :
newList.add("")
})

当前列表:

S: ("Lint"; "Stack"; "Linode"; "Overflow";"Linux")

这里要匹配的子字符串是"Li"。因此,字符串 "Stack"和 "Overflow"被替换为空字符串,因为它们不包含子字符串。

结果列表:

S: ("Lint"; ""; "Linode"; "";"Linux")

最佳答案

有几种方法可以解决。首先使用如下条件评估迭代每个元素:

q){$[x like "Li*";x;" "]}each S
"Lint"
" "
"Linode"
" "
"Linux"

或使用 at apply如下:

q)@[S;where not S like\: "Li*";:;" "]
"Lint"
" "
"Linode"
" "
"Linux"

关于kdb - 替换列表中与 KDB Q 中的子字符串不匹配的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com