q / KDB+ 如何遍历字符串列表
q / KDB+ How to iterate through list of strings
我最近开始学习 q 编程语言,我发现它有点困难,因为我来自 'traditional' 命令式、OOP 等语言背景。我正在尝试执行一项看似简单的任务 - 在列表中查找包含特定字符的字符串:
names:("Saint Denis";"Rhodes";"Strawberry";"Valentine")
如何打印所有包含字母“R”的字符串?更好的是,“R”和“r”?
我能得到的最远的是:
{[x]x?"o"} each names
正确的方法是什么?
提前致谢!
你可以使用类似下面的东西
q)names where "R" in/: names
"Rhodes"
q)names where any each "rR" in/: names
"Rhodes"
"Strawberry"
您可以像这样使用 like
keyword with a regular expression:
q)names where names like "*[Rr]*"
"Rhodes"
"Strawberry"
另外两个备选方案是:
q)names where "r" in'lower names
"Rhodes"
"Strawberry"
q)names where any"Rr"in'\:names
"Rhodes"
"Strawberry"
我最近开始学习 q 编程语言,我发现它有点困难,因为我来自 'traditional' 命令式、OOP 等语言背景。我正在尝试执行一项看似简单的任务 - 在列表中查找包含特定字符的字符串:
names:("Saint Denis";"Rhodes";"Strawberry";"Valentine")
如何打印所有包含字母“R”的字符串?更好的是,“R”和“r”?
我能得到的最远的是:
{[x]x?"o"} each names
正确的方法是什么?
提前致谢!
你可以使用类似下面的东西
q)names where "R" in/: names
"Rhodes"
q)names where any each "rR" in/: names
"Rhodes"
"Strawberry"
您可以像这样使用 like
keyword with a regular expression:
q)names where names like "*[Rr]*"
"Rhodes"
"Strawberry"
另外两个备选方案是:
q)names where "r" in'lower names
"Rhodes"
"Strawberry"
q)names where any"Rr"in'\:names
"Rhodes"
"Strawberry"