NiFi需求:移除JSON指定字段值的首位字符
移除CNPJ字符串首位字符的NiFi处理方案
假设你已经通过EvaluateJsonPath处理器将CNPJ值提取为流文件属性(比如变量名${cnpj}),以下两种方法可以快速移除其首位字符:
方法1:使用UpdateAttribute处理器(推荐,无需脚本)
在UpdateAttribute中添加新属性,属性值使用NiFi表达式语言的字符串截取功能:
cnpj = ${cnpj:substring(1)}
${cnpj:substring(1)} 会从字符串的索引1位置(即第二个字符)开始截取到末尾,直接移除首位的"0"。
方法2:使用ExecuteScript处理器(适用于需额外判断的场景)
如果需要先判断首位是否为"0"再移除,可以用Groovy脚本处理:
def cnpj = flowFile.getAttribute('cnpj') if (cnpj?.startsWith('0')) { flowFile.setAttribute('cnpj', cnpj.substring(1)) } return flowFile
该脚本会先获取流文件的cnpj属性,仅当字符串以"0"开头时,才截取从索引1开始的子串并更新属性值。
内容的提问来源于stack exchange,提问作者Rodrigo Hajime Himauari
相关产品推荐
相关产品推荐

