たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

KNIME_文字列操作その2【Java Snippet】【String Manipulation(Multi Column)】文字列のクレンジング

使用Node:Java Snippet / String Manipulation(Multi Column)
外部からDBをinputした際に、文字列の中に入り込んでしまいがちな記号(特殊文字)/空白/改行を削除

WFの例

▼配置例▼


Node【Java Snippet】で記号(特殊文字)を削除

▼記述例▼

out_Code = c_Code.replaceAll("\\W+","");

Stringクラスのreplaceallメソッドを使用

▼Node設定例▼

もちろん【String Manipulation(Multi Column)】でreplaceすることも可能 以下のサイトでその他の例もわかりやすく丁寧に解説してある
https://codechacha.com/ja/java-remove-special-letters/


Node【String Manipulation(Multi Column)】で改行を削除

▼記述例▼

replace($$CURRENTCOLUMN$$,"\n","")

▼Node設定例▼

例として【Table Creator】から取り込んだカラムには、改行が入っていないのであしからず
例では1カラムしかないが、上部で右側に指定したカラムのすべてに対してReplaceが実行される
データ型がStringでないものをreplace対象に加えるとエラーとなるので注意

Node【String Manipulation(Multi Column)】で空白を削除

▼記述例▼

replace($$CURRENTCOLUMN$$," ","")

▼Node設定例▼

例では1カラムしかないが、上部で右側に指定したカラムのすべてに対してReplaceが実行される
データ型がStringでないものをreplace対象に加えるとエラーとなるので注意

Node【String Manipulation】strip関数で空白を削除

この方法がいちばんいいのかもしれない

▼よくわかる解説サイト▼
KNIME - セルをぶった切る ~Cell Splitter~ - デジタル推進課


▼KNIME Hub▼
kni.me

【0410追記】クレンジングを行えるNode

以下の資料では、RuleEngineがクレンジングを行うのに適しているNodeのようである
もともとAlteryxを使用している方がKNIMEでクレンジングを再現したい場合でも、そういった状況でなくても、参考になる資料かとおもう
▼From_Alteryx_to_KNIME▼
www.knime.com