首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache-NiFi语句中的多次替换regex

Apache-NiFi语句中的多次替换regex
EN

Stack Overflow用户
提问于 2019-11-08 04:56:33
回答 1查看 2K关注 0票数 0

我有以下格式的csv。

代码语言:javascript
复制
id,mobile
1,02146477474
2,08585377474
3,07646474637
4,02158789566
5,04578599525

我想要添加一个新的列,并将前面的3个数字添加到该列(对于特定情况和所有其他NOT_VALID字符串)。因此,结果应该是:

代码语言:javascript
复制
id,number,provider
1,02146477474,021
2,08585377474,085
3,07646474637,NOT_VALID
4,02158789566,021
5,04578599525,NOT_VALID

我可以用下面的正则表达式来替换它。但我想用所有可能的对话一步一步。使用UpdateRecord处理器。

代码语言:javascript
复制
${field.value:replaceFirst('085[0-9]+','085')}

当我用这样的东西时:

代码语言:javascript
复制
${field.value:replaceFirst('085[0-9]+','085'):or(${field.value:replaceFirst('086[0-9]+','086')}`)}

这将全部替换为false

EN

回答 1

Stack Overflow用户

发布于 2019-11-08 05:49:07

Nifi使用Java regex

当您使用记录处理时,这应该适用于您:

代码语言:javascript
复制
${field.value:replaceFirst('^(021|085)?.*','$1')}

()?可选择地在字符串^的开头捕获021085

替代者$1是第一组。

PS:像https://regex101.com/这样的站点有助于理解regex

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58760602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档