提取逗号分隔值的正则表达式?
Regular expression to extract comma separated values?
我正在尝试从 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:(^.*$)
然后使用带有 getDelimitedField()
表达式的 updateAttribute 来为流文件属性赋值。
DatabaseConnectionURL:${ExtractedData:getDelimitedField(1)}
DatabaseDriverClass:${ExtractedData:getDelimitedField(2)}
DatabaseDriverLocation:${ExtractedData:getDelimitedField(3)}
DatabaseUser:${ExtractedData:getDelimitedField(4)}
Password:${ExtractedData:getDelimitedField(5)}
getDelimitedField()
"Parses the Subject as a delimited line of text and returns just a single field from that delimited text." 可用于任何支持 NiFi 表达式语言的配置 属性。有关详细的getDelimitedField()
解释,请查看 NiFi 表达式语言指南。
https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#getdelimitedfield
希望这个解决方案能帮助解决您的问题。
如果它有效,请不要忘记接受,如果您 运行 遇到任何问题,请告诉我。
我正在尝试从 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:(^.*$)
然后使用带有 getDelimitedField()
表达式的 updateAttribute 来为流文件属性赋值。
DatabaseConnectionURL:${ExtractedData:getDelimitedField(1)}
DatabaseDriverClass:${ExtractedData:getDelimitedField(2)}
DatabaseDriverLocation:${ExtractedData:getDelimitedField(3)}
DatabaseUser:${ExtractedData:getDelimitedField(4)}
Password:${ExtractedData:getDelimitedField(5)}
getDelimitedField()
"Parses the Subject as a delimited line of text and returns just a single field from that delimited text." 可用于任何支持 NiFi 表达式语言的配置 属性。有关详细的getDelimitedField()
解释,请查看 NiFi 表达式语言指南。
https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#getdelimitedfield
希望这个解决方案能帮助解决您的问题。
如果它有效,请不要忘记接受,如果您 运行 遇到任何问题,请告诉我。