2017-09-06 62 views
0

我有一個數據集,其中的值除了分號的數量相同以外,其結果是不同的記錄。用配置單元中的一個單元替換多個特定字符單元

例如,如果在一列中一個記錄有一個; b; c,另一個記錄有一個;; b; c,這將禁用在我的代碼中使用不同的功能。我希望這被視爲重複的記錄,其中;;需要被替換;

我們怎樣才能取代多個;單身;在配置單元中的數據集中的字符串?

回答

0

您可以使用regexp_replaceHive UDFs

第一個參數定義爲需要得到改變的字符串。所以,你可以把它在你的表所示:

with t as 
    (SELECT "a\;\;\;b\;\;c\;d" as col) 
SELECT regexp_replace(t.col, "\;+", "\;") as col from t 

這應該給你輸出

+-------+ 
| col| 
+-------+ 
|a;b;c;d| 
+-------+ 
+0

我用這種方式 - REGEXP_REPLACE(study.trial_result, 「+ | +」,「 ;「) – Vaibhav

+0

我不得不逃避';'但'; +'已經意味着一次或多次出現';' – philantrovert

相關問題