【发布时间】:2018-11-20 18:39:00
【问题描述】:
我有一个 csv 文件,其中包含由空格(千位分隔符)分隔的数字的字符串字段,例如“1 025 000”而不是“1025000”。
我想删除那些空格,仅适用于带有数字的字段,因此我可以使用 jolt 转换转换为 double 以在输出上获取 json 文件,我正在使用正则表达式表达式的 replaceText 处理器在 apache nifi 上执行此操作。
这是我的 csv 示例:
Client1;Client2;Client3;price1;price2;price3
john smith;john2 smith2;john3 smith3;1 145;125;129 009
我使用的这个表达式不起作用:(\s?=(\d{3},?)+(?:\.\d{1,3})?")
提前致谢!
【问题讨论】:
-
我不确定是否有一个正则表达式在这里是万无一失的。我的第一反应是,您应该回到 JSON 的源代码并更改数字的格式。你有什么理由不能这样做吗?
-
在 apache-nifi 中我收到了我转换为 json 的文本,我无法在 json 步骤之前进行转换
-
您根本不想在 JSON 上使用正则表达式,句号。解析 JSON,转换包含的数据(您可以使用正则表达式),将数据序列化回 JSON。其他所有方法都是错误的。 (除非您已经这样做了,否则请包括您目前所做的颠簸转换。)
-
我没有解释清楚,我在输入中有一个 csv 文件,我想应用正则表达式来使用 nifi 的替换文本删除数字之间的空格。颠簸是为了转换为双倍,它应用于我在输出中得到的 json
-
您能显示您的 CSV 文件的一部分吗?当我们不知道其他条目的样子时,很难仅匹配数字。
标签: json regex type-conversion apache-nifi jolt