gpt4 book ai didi

sql - Hive - 对多个替换条件使用替换或 regexp_replace 函数

转载 作者:行者123 更新时间:2023-12-02 18:39:58 24 4
gpt4 key购买 nike

我正在使用 Hive 并尝试清理可能包含多个不需要的数据的数据。想知道我是否可以在多个条件下使用单个 regexp_replace 或翻译函数。

对于例如。如果字符串是2000 Helen St - DO NOT USE我需要替换/修剪 - DO NOT USE 并将 St 更改为 Street。输出应为 2000 Helen Street

同样

  • 3000 Cross St 应为 3000 Cross Street
  • 4000 Mascot Dr 应为 4000 Mascot Drive
  • 等等..

大约有 10 个或更多这样的清理条件,并且输入字符串可以满足 0 个或多个条件标准。这些条件可以在单个 regexp_replace 中设置吗?

最佳答案

您可以使用 OR (|) 轻松组合模板以删除子字符串或替换为相同的值。在其他情况下,使用多个 regexp_replace:

例如,如果您想删除“TEST”和“- DO NOT USE”并将“Dr”替换为“Street”:

hive> select regexp_replace(
regexp_replace('TEST 2000 Helen St - DO NOT USE',
'[- ]*DO NOT USE|TEST( *|$)',''),
'St([ ]*|$)','Street'
);
OK
2000 Helen Street
Time taken: 0.055 seconds, Fetched: 1 row(s)

它删除了“测试”和“-请勿使用”-这些组合成单个模板。 'St' 替换为 'Street' - 这是第二个 regexp_replace。当然这只是示例。

关于sql - Hive - 对多个替换条件使用替换或 regexp_replace 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49267290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com