Sesam DTL-检查字符串是否包含字母

时间:2018-08-01 11:48:23

标签: sesam

是否可以检查字符串中的字母? 可以说我在这里有这个实体:

[
    {
        _id: "1",
        "foo": "AD3495H2D23G"
    }
]

有一种方法可以确定foo是由任何字母还是特定的字母组成。假设D和H。如果存在,则过滤掉实体。

1 个答案:

答案 0 :(得分:1)

可以使用此string to characters trick解决此问题。

{
  "_id": "letter-filtering",
  "type": "pipe",
  "source": {
    "type": "embedded",
    "entities": [{
      "_id": "1",
      "foo": "AZ3495DX223G"
    }]
  },
  "transform": {
    "type": "dtl",
    "rules": {
      "default": [
          ["filter",
            ["not",
              ["intersects",
                ["list", "D", "H"],
                ["map",
                  ["substring", "_.",
                    ["plus", "_.", 1], "_S.foo"],
                  ["range", 0,
                    ["length", "_S.foo"]
                  ]
                ]
              ]
            ]
          ]
      ]
    }
  }
}

只要DH在foo属性中,就会过滤掉实体。