天兒真好
我使用優邁「的字符串替換」來處理這種情況下
可以累計申請規則,從單一的步驟中的字符串消除不良焦 - 這是很容易使用單個字符修復,就像您所描述的一樣,最重要的是,它也允許您基於正則表達式進行搜索 - 在一個步驟中,您已經記錄了您的標準化並在您的案例中生成了清理輸出
,我會創建兩個'規則'來取代(
和)
沒什麼 - 但是,-
是有點棘手;您需要一個規則來刪除單個字符,因此您需要知道單個數據字段中的最大數量-
,然後將這多行添加到'替換字符串'步驟中
如果這不合意,考慮「用戶定義的Java表達」和replace
一個呼叫,例如:((t0 != null) ? t0.replace("-","") : t0)
正如我所說,每個「修復」是按順序施加 - 的In stream field
是輸入字段名,而Outstream field
是左空指示迪修改字段本身 - 這裏是一個更復雜的例子,其中i搜索正則表達式,並沒有取代他們,逃避的情況下我逃脫"
雙引號:
In stream field Out stream field use RegEx Search Replace with
sc_srcuri N {Internal.Transformation.Filename.Directory}
re_s_sciname Y ["] \\"
re_s_sciname Y .[\x08]
re_s_sciname Y .[\x08]
re_s_sciname Y .[\x08]
re_s_sciname Y [*]
re_s_sciname Y \s*$
re_s_sciname Y ^\s*
通知我正在移除多達三個「從這個特定的字符串中刪除'控制碼[\x08]
?
我不會在你的發言後面發表*但這隻會告訴我們什麼樣的數據是無效的,但實際上並沒有爲我們格式化*實際上,當使用正則表達式和組時,你已經完成了一半的格式化操作,確定了您的邏輯組件。在你上面的情況下,你將有三組數字,你將連接成一個。你可以編輯你的問題來增加兩三個例子嗎?我認爲這會使所需變革的複雜性更加明確,並且有人可能會提出具體的建議。 – 2014-10-18 09:47:41
這看起來像一個清晰的正則表達式應用程序。如上所述,我將採用捕獲組的正則表達式步驟,然後是篩選器行步驟以篩選出不正確的數據,然後您可以以任何您想要的格式收集組(字符串操作,計算器,用戶定義的java表達式,等等。) – nsousa 2014-10-20 08:54:42