0
我有一個數據集,其中的值除了分號的數量相同以外,其結果是不同的記錄。用配置單元中的一個單元替換多個特定字符單元
例如,如果在一列中一個記錄有一個; b; c,另一個記錄有一個;; b; c,這將禁用在我的代碼中使用不同的功能。我希望這被視爲重複的記錄,其中;;需要被替換;
我們怎樣才能取代多個;單身;在配置單元中的數據集中的字符串?
我有一個數據集,其中的值除了分號的數量相同以外,其結果是不同的記錄。用配置單元中的一個單元替換多個特定字符單元
例如,如果在一列中一個記錄有一個; b; c,另一個記錄有一個;; b; c,這將禁用在我的代碼中使用不同的功能。我希望這被視爲重複的記錄,其中;;需要被替換;
我們怎樣才能取代多個;單身;在配置單元中的數據集中的字符串?
您可以使用regexp_replace
爲Hive 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|
+-------+
我用這種方式 - REGEXP_REPLACE(study.trial_result, 「+ | +」,「 ;「) – Vaibhav
我不得不逃避';'但'; +'已經意味着一次或多次出現';' – philantrovert