在DWL中查找字符串中的Capital Char

时间:2017-02-08 07:09:25

标签: mule dataweave

我需要使用DWL从给定字符串中获取大写字符。 示例 - 输入字符串 - KinLiCheng然后输出应该是KLC。 有没有DWL语法可以做到这一点?

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我们可以使用多个DataWeave expressions组合来操作String:

  1. 扫描以获取包含所有大写字符的数组:"KinLiCheng" scan /[A-Z]/
  2. 展平,将步骤#1中的数组结果展平为一个简单的数组:flatten ( ... )
  3. joinBy 将上面的数组合并为一个字符串值:joinBy ""
  4. 完整表达:flatten ("KinLiCheng" scan /[A-Z]/) joinBy ""

答案 1 :(得分:0)

我们可以使用正则表达式来执行此操作

"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 转换为数组

字符串

数组表示 [strong>   " K&#34 ;,   " I&#34 ;,   " N&#34 ;,   " L&#34 ;,   " I&#34 ;,   " C&#34 ;,   " H&#34 ;,   " E&#34 ;,   " N&#34 ;,   " G" ]

- 是dataweave运算符,用于从数组中删除元素

Further reading on Dataweave operators