在表数据中,我必须从表数据中删除这些[*,=,#,&,^,%]
。我不应该删除这些
[(,),/,.,@,',",:-,_,,\]
数据将数据从mssql
移至mysql
时特殊字符pentaho
集成
示例: -
Gujarat is the country’s largest castor oil seed producing state. The m*ajor
month’s
答案 0 :(得分:0)
您可以使用"用户定义的Java类"在Pentaho中,用replace函数写一个正则表达式。
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException{
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
if (first)
{
first = false;
}
r = createOutputRow(r, 1);
if(get(Fields.In, "data").getString(r) != null)
{
String output= get(Fields.In, "data").getString(r);
output= output.replaceAll("[^a-zA-Z0-9\\s()/\\.@-_]+","");
get(Fields.Out, "output").setValue(r, output);
}else {
get(Fields.Out, "output").setValue(r, "");
}
putRow(data.outputRowMeta, r);
return true;
}
数据是输入流数据,清理后的输出将在" 输出"柱。我分享了一个示例代码here。
希望这能解决您的问题。 :)
修改我之前的答案以包含完整代码。话虽如此,我最近还创建了一个插件来处理特殊字符。你可以看看我的博客网站:
即使它只有1.0.0版本,但你可以尝试一下。它也可以帮助ypu:)
答案 1 :(得分:0)
为什么不在用于检索数据的查询中使用正则表达式?它将简化您的转型!
答案 2 :(得分:0)
您可以在Spoon
中使用Regex Evaluation
步骤或String operations
步骤
尝试使用它们,如果下面仍有问题,请注意。