如何在 Talend Integration 中替换特殊字符

how to replace special characters in talend integration


我想替换 talend 集成中的特殊字符。
示例记录为:

id                  mrp
013SB X121MULTI     7633
013SB/X121MULTI     46696
013SBX121MULTI      8531
013SBX121MU*LTI     4939
013SBX121MULTI      1347
013SBX121MULTI      5388
013SBX121MULTI      53592
013SBX_121MULTI     449

预期结果是

    id                  mrp
    013SBX121MULTI      7633
    013SBX121MULTI      46696
    013SBX121MULTI      8531
    013SBX121MULTI      4939
    013SBX121MULTI      1347
    013SBX121MULTI      5388
    013SBX121MULTI      53592
    013SBX121MULTI      449


1,2,4 和最后一个 record.i 中包含的特殊字符要替换特殊字符,如 (space,_,-,*,etc..,)
谁能建议解决这个问题

您可以轻松地使用 tJavaRow 来清除 id 字段。在 tJavaRow 中,您可以一切 Java 允许您对这些数据执行的操作。首先,我们需要找到从 String 中删除特殊字符的方法。根据这些 solution 我们可以在 tJavaRow 组件中添加这样的东西:

output_row.id = input_row.id.replaceAll("[^\w]","").replaceAll("_", "");;
output_row.mrp = input_row.mrp;

以下代码应该可以简单地满足要求。此外,它只会给出不包括特殊字符的字母数字结果(不仅限于 space、_、-、* 等,):

input_row.col1.replaceAll("[^A-Za-z0-9]", "")

This code can be either used in tJavaRow or directly into tMap