如何替换模式的第一个匹配项

ffvjumwh  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(450)

我正在尝试使用regexp\u replace函数清除配置单元表中的一些城市名称。
例如,我想把城市名“圣斯蒂芬斯”改成“圣斯蒂芬斯”,把“南盐湖城”改成“南盐湖城”。
我在努力 regexp_replace(city,’St ‘,’Saint’) 但以“圣斯蒂芬斯”为例,我最终选择了“圣以弗斯”
同样地,当我试图取代“s盐湖城”的领头羊时,我最终选择了“南盐湖城”。

njthzxwz

njthzxwz1#

您需要添加字符串锚点的开头 ^ 不要忘了也包括空间。这将取代 St (st和一个空格)仅在字符串开头:

regexp_replace(city,'^St ','Saint ')

对于你的问题中的两个替代者,最简单的方法就是申请 regexp_replace 两次:

regexp_replace(regexp_replace(city,'^St ','Saint '),'^S ','South ')

相关问题