首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache-NiFi验证字符串长度

使用Apache-NiFi验证字符串长度
EN

Stack Overflow用户
提问于 2019-12-30 11:52:23
回答 1查看 501关注 0票数 1

在我的flowfile中,我需要验证列内容是否包含一定数量的字符串。如果没有,我会将其替换为文本。为了实现这一点,我使用了UpdateRecord处理器:

代码语言:javascript
复制
Record Reader : CSV
Record Writter : CSV
Replacement Value strategy : Literal Values

/my_column : ${field.value:replaceAll('[a-z]+|[a-z]+','Wrong')
              :replaceAll(${field.value:length():le(8)},'Undefined')}

我还使用了:replaceAll(${field.value:count():le(8)},'Undefined')

但它们都没有像预期的那样工作。它不会用Undefined替换错误数量的字符串

输入:

代码语言:javascript
复制
id,name,my_column
1,sachith,9403039409445
2,nalaka,rwed222
3,muhandiram,45544

期望值:

代码语言:javascript
复制
id,name,my_column
1,sachith,9403039409445
2,nalaka,Wrong
3,muhandiram,Undefined

PS :在first comment后面添加了示例输入和输出。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-01 13:11:20

这将会起作用。在您的表达式中,没有条件表达式。

代码语言:javascript
复制
/my_column    ${field.value:find('[a-z]+')
               :ifElse(
                ${field.value:replace(${field.value},'Wrong')},
                ${field.value:length():le(8)
                :ifElse(
                 ${field.value:replace(${field.value},'Undefined')},
                 ${field.value}
              )})}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59525528

复制
相关文章

相似问题

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