gpt4 book ai didi

regex - 正则表达式提取逗号分隔值?

转载 作者:行者123 更新时间:2023-12-02 09:39:51 24 4
gpt4 key购买 nike

我正在尝试从 csv 文件读取值,然后使用 ExtractText 处理器将值存储到属性中。该文件仅包含一行,其中有 5 个值,以逗号分隔。这是我的文件的内容:

jdbc:mysql://localhost:3306/test, com.mysql.jdbc.Driver, C:\ProgramFiles\MySQL\mysql-connector.jar, root, root 

我已在 ExtractText 处理器中手动添加了 5 个属性:-

DatabaseConnectionURL
DatabaseDriverClass
DatabaseDriverLocation
DatabaseUser
Password

现在,我想要在 ExtractText 处理器中定义的上述 5 个属性的正则表达式,以便它们获得以下值:-

DatabaseConnectionURL = jdbc:mysql://localhost:3306/test
DatabaseDriverClass = com.mysql.jdbc.Driver
DatabaseDriverLocation = C:\Program Files\MySQL\mysql-connector.jar
DatabaseUser = root
Password = root

您能提供一下上述 5 个属性的正则表达式吗?

最佳答案

里沙布,

ExtractText 处理器使用以下正则表达式来捕获行。

ExtractedData:(^.*$)

然后使用 updateAttribute 和 getDelimitedField() 表达式(如下所示)为流文件属性分配值。

DatabaseConnectionURL:${ExtractedData:getDelimitedField(1)}

DatabaseDriverClass:${ExtractedData:getDelimitedField(2)}

DatabaseDriverLocation:${ExtractedData:getDelimitedField(3)}

DatabaseUser:${ExtractedData:getDelimitedField(4)}

Password:${ExtractedData:getDelimitedField(5)}

getDelimitedField() “将主题解析为分隔文本行,并从该分隔文本中仅返回一个字段。”并且可以用于任何支持 NiFi 表达式语言的配置属性。有关详细的 getDelimitedField() 说明,请查看 NiFi 表达式语言指南。

https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#getdelimitedfield

希望这个解决方案可以帮助解决您的问题。

如果有效,请不要忘记接受,如果您遇到任何问题,请告诉我。

关于regex - 正则表达式提取逗号分隔值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49728076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com