Поиск заглавной буквы в строке в DWL

У меня есть требование извлекать заглавные символы из данной строки с помощью DWL. Пример - входная строка - KinLiCheng, тогда выход должен быть KLC. Есть ли какой-нибудь синтаксис DWL, который это делает?

Заранее спасибо за помощь!


person Maddy    schedule 08.02.2017    source источник


Ответы (2)


Можно использовать несколько комбинаций выражений DataWeave для манипулировать строкой:

  1. просканируйте, чтобы получить массив, состоящий только из заглавных букв: "KinLiCheng" scan /[A-Z]/
  2. сгладить, чтобы сгладить массив, полученный на шаге 1, в один простой массив: flatten ( ... )
  3. joinBy, чтобы объединить указанный выше массив в одно строковое значение: joinBy ""

Полное выражение: flatten ("KinLiCheng" scan /[A-Z]/) joinBy ""

person sulthony h    schedule 08.02.2017

Для этого мы можем использовать регулярное выражение

"KinLiCheng" replace /[a-z]/ with ""

Можно сделать и без регулярного выражения

("KinLiCheng" splitBy "") -- ['a', 'b', 'c', 'd','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

хотя и не очень хорошее решение

splitBy преобразует строку KinLiCheng в массив

Представление в виде массива строки [«K», «i», «n», «L», «i», «C», «h», «e», «n» , "g"]

- - оператор dataweave для удаления элементов из массива

Дополнительная литература по операторам Dataweave

person Abhay    schedule 08.02.2017