【问题标题】:HIVE: remove numbers from the end of the stringHIVE:从字符串末尾删除数字
【发布时间】:2020-08-29 18:13:42
【问题描述】:

我正在尝试从字符串/列的末尾删除一个整数,以便我可以在 group by 中使用它。 这是一个例子

Apartment-12
House-3
Big-Apartment-6
Condo-11

需要转换成

Apartment
House
Big-Apartment
Condo

我尝试了以下所有方法,但均未成功:

select regexp_replace('Apartment-15', "-/\d+$/", "");
select regexp_replace('Apartment-15', "-\d+$", "");
select regexp_replace('Apartment-15', "-\d+$", "");
select regexp_replace('Apartment-15', "-\d*$", "");

感谢任何帮助解释它如何以及为什么它不起作用。 谢谢

【问题讨论】:

    标签: regex apache-spark hive


    【解决方案1】:

    只需将反斜杠加倍:

    select regexp_replace('Apartment-15', "-\\d+$", "");
    

    【讨论】:

      【解决方案2】:

      似乎select regexp_replace('Apartment-15', "-[0-9]+$", ""); 有效,但不知道为什么\d 无效!

      【讨论】:

        猜你喜欢
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 2011-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多