【问题标题】:q / KDB+ How to iterate through list of stringsq / KDB+ 如何遍历字符串列表
【发布时间】:2023-03-29 10:40:02
【问题描述】:

我最近开始学习 q 编程语言,我发现它有点困难,因为我来自“传统”命令式、OOP 等语言背景。我正在尝试执行一项看似简单的任务 - 在列表中查找包含特定字符的字符串:

names:("Saint Denis";"Rhodes";"Strawberry";"Valentine")

如何打印所有包含字母“R”的字符串?更好的是“R”和“r”?

我能得到的最远的是:

{[x]x?"o"} each names

正确的方法是什么?

提前致谢!

【问题讨论】:

    标签: kdb


    【解决方案1】:

    您可以将like 关键字与regular expression 一起使用,如下所示:

    q)names where names like "*[Rr]*"
    "Rhodes"
    "Strawberry"
    

    【讨论】:

      【解决方案2】:

      你可以使用类似下面的东西

      q)names where "R" in/: names
      "Rhodes"
      q)names where any each "rR" in/: names
      "Rhodes"
      "Strawberry"
      

      【讨论】:

        【解决方案3】:

        另外几个选择是:

        q)names where "r" in'lower names
        "Rhodes"
        "Strawberry"
        
        q)names where any"Rr"in'\:names
        "Rhodes"
        "Strawberry"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多