NiFi ReplaceText 正则表达式用 CRLF 替换换行符
NiFi ReplaceText Regex replace Newline with CRLF
我有一个带有 Unix 风格换行符 (\n) 的文本文件(GetFile 处理器),但需要一个 Windows 风格的 Carriage-Return+LineFeed CRLF (\r\n ) 在我的 FlowFile
我的 ReplaceText-Processor 正在运行
Search value: ((?<!\x0d)\x0a|\x0d(?!\x0a))
Replacement value: ${literal(''):replaceFirst('','\r')}${literal(''):replaceFirst('','\n')}
问题:
我的 RegEx 在我看来非常复杂
您知道在 FlowFile 中将 \n 转换为 \r\n 的更简单方法吗?
周末愉快
弗兰克
如果您的文件仅包含 \n
,我认为没有理由将 \r
与模式匹配。
使用
(?<!\r)\n
替换为${literal('\r\n')}
。
解释
--------------------------------------------------------------------------------
(?<! look behind to see if there is not:
--------------------------------------------------------------------------------
\r '\r' (carriage return)
--------------------------------------------------------------------------------
) end of look-behind
--------------------------------------------------------------------------------
\n '\n' (newline)
我有一个带有 Unix 风格换行符 (\n) 的文本文件(GetFile 处理器),但需要一个 Windows 风格的 Carriage-Return+LineFeed CRLF (\r\n ) 在我的 FlowFile
我的 ReplaceText-Processor 正在运行
Search value: ((?<!\x0d)\x0a|\x0d(?!\x0a))
Replacement value: ${literal(''):replaceFirst('','\r')}${literal(''):replaceFirst('','\n')}
问题: 我的 RegEx 在我看来非常复杂 您知道在 FlowFile 中将 \n 转换为 \r\n 的更简单方法吗?
周末愉快
弗兰克
如果您的文件仅包含 \n
,我认为没有理由将 \r
与模式匹配。
使用
(?<!\r)\n
替换为${literal('\r\n')}
。
解释
--------------------------------------------------------------------------------
(?<! look behind to see if there is not:
--------------------------------------------------------------------------------
\r '\r' (carriage return)
--------------------------------------------------------------------------------
) end of look-behind
--------------------------------------------------------------------------------
\n '\n' (newline)