You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Hive regexp_replace替换特殊字符为连字符并转小写

Hive实现字符串清洗的方案

你可以直接用如下SQL语句完成需求:

SELECT 
  regexp_replace(
    lower('Strong-Memorial/123, Hospital | URMC'),
    '[^a-z0-9]+',
    '-'
  ) AS cleaned_str

运行后返回的结果就是目标值strong-memorial-123-hospital-urmc。

逻辑说明

  • 先调用lower()函数把输入字符串的所有字母转为全小写,避免正则匹配漏判大小写
  • regexp_replace的正则规则[^a-z0-9]+表示匹配所有连续的、不属于小写英文字母和数字的字符,包括空格、斜杠、逗号、竖线、原有的连字符等所有特殊字符,统一替换为单个连字符-

边界场景补充

如果你的输入字符串存在开头/结尾就是特殊字符的情况,处理后会在首尾多出多余的连字符,可以再加一层正则处理掉首尾的连字符:

SELECT 
  regexp_replace(
    regexp_replace(
      lower(你的字符串字段),
      '[^a-z0-9]+',
      '-'
    ),
    '^-|-$',
    ''
  ) AS cleaned_str
FROM 你的表名;

内容的提问来源于stack exchange,提问作者jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:15:09