如何在 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
我想替换 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