使用KETTLE中的正则表达式替换字符串

时间:2017-02-16 17:15:39

标签: regex kettle

我想使用正则表达式替换水壶中的某个模式。例如,AAAA> 5< BBBB,我想用AAAA 555 BBBB替换它。我知道如何找到模式,但我不知道如何用新字符串替换它。我必须要保留的一件事是我必须一起找到模式><,而不是像>>或者<因为还有另一种模式< 5>。

2 个答案:

答案 0 :(得分:0)

您可以在转换中使用“替换字符串”步骤。

将RegEx设置为“Y”,在搜索框中键入正则表达式,必要时使用捕获组,并在替换框中键入替换字符串,将捕获组称为$ 1,$ 2,...

它将替换原始字符串中出现的所有正则表达式。

如果省略Out Stream字段,它将覆盖In stream字段。

答案 1 :(得分:0)

如果您希望将模式uint32_t替换为找到的数字的三倍,则可以在正则表达式模式下使用Replace-In-String:

>\d<

如果您希望所有这些模式处理相同:

Search:     (.*)(>(\d)<)(.*)
Replace:    $1$3$3$3$4

由于您的要求提高而编辑

由于您打算将“简单”标记转换为更像HTML的标记,因此最好使用User-Defined-Java-Expression。此外,重复更换时必须避免重新引入简单标记。

enter image description here