gpt4 book ai didi

java - tExtractJsonFields Talend,使用正则表达式按长度将列分成多列

转载 作者:行者123 更新时间:2023-11-30 11:15:35 29 4
gpt4 key购买 nike

我的作业有一个来自 xml 文件的无限制列,该列的长度可以超过 4000 个字符,但是,这是 Oracle varchar 列的最大长度。我需要能够使用 Talend 中的 tExtractRegexFields 组件将每 3000-4000 个字符的列分隔到一个单独的列中。

但是,我不擅长正则表达式,遇到了一些麻烦。

文本的格式一般是这样的:

"<p>#Principal Responsibilities: </p>
<p>INSERT EXTREMELY LONG DESCRIPTION HERE</p>"

我试过用这样的东西:

"([a-zA-Z0-9]{0,4000})" 

但我运气不好,它只捕获了 1 个单词。

作业是这样设置的:

tFileInputXML------>tExtractRegexFields----->tMap------tOracleOutput

我知道我缺少的是一些简单的东西,但我就是想不通是什么!

最佳答案

您需要捕获的不仅仅是字母数字字符。试试“([.]{0,4000})”,假设 Talend 接受句号表示任何字符,那应该可以为您提供所有信息。或者,您可以接受“([a-zA-Z0-9 ]{0, 4000})”(注意空格),这应该让您得到不止一个单词,但在第一个标点符号之后可能什么也没有。

关于java - tExtractJsonFields Talend,使用正则表达式按长度将列分成多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25328589/

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