如何在DataWeave中移除末尾连字符并添加至开头?
DataWeave字符串转换:将末尾连字符移至开头
这里有两种简洁的方法实现你要的转换:
方法1:使用字符串切片与条件判断
适合需要明确校验输入格式的场景,确保只有末尾带"-"的字符串才会被转换:
%dw 2.0 output application/json --- "-" ++ $[0 to -2] when $ endsWith "-" else $
- 逻辑:先通过
endsWith "-"判断输入是否符合格式,是的话取原字符串从第一个到倒数第二个字符的部分($[0 to -2]),再把"-"拼接在前面;不符合格式则直接返回原字符串。
方法2:使用正则替换
更简洁的写法,适合确定输入格式统一的场景:
%dw 2.0 output application/json --- $ replace /(.*)-$/ with "-$1"
- 逻辑:正则表达式
(.*)-$匹配所有字符直到末尾的"-",其中(.*)会捕获前面的数字部分(比如"2000"),替换时将捕获的内容放在"-"后面,直接得到目标格式。
边界情况说明
- 如果输入已经是"-2000",两种方法都会返回原字符串
- 如果输入只有"-",处理后还是"-"
- 如果输入不含末尾的"-",会直接返回原内容,避免无效转换
内容的提问来源于stack exchange,提问作者Bikrant Thakur
相关产品推荐
相关产品推荐

