gpt4 book ai didi

sql - 替换 PostgreSQL 中字符串右侧的字符

转载 作者:行者123 更新时间:2023-11-29 12:48:52 25 4
gpt4 key购买 nike

我需要为我的项目解决一个问题。

我需要通过删除街道名称右侧的所有内容来清理 PostgreSQL 中的地址字段。

我在这里找到了它:PostgreSQL replace characters to right of string

SELECT regexp_replace('100 broadway street 100', '(.*)(Street).*', '\1\2', 'i');

但是,我想更灵活地替换'100 broadway street 100',像这样:

SELECT regexp_replace('100 broadway street 100', '(.*)(Street OR Str. OR Ward OR W. OR Dist).*', '\1\2', 'i');

谁能帮我写出正确的语法或有任何其他我还没有找到的链接?

输入 1:“100 Alexandre de Rhodes Street, District 10, HCM City”

输入 2:“100 Quang Trung Str., District 10, HCM City”

输入 3:“胡志明市 GV 区牛顿街 123 号”输出 1:“100 ABC Street, Ward 16”输出 2:“100 Quang Trung Str.”.v.v..

即需要去掉路名后面的字符串

最佳答案

我认为您正在寻找这样的 | 运算符

SELECT regexp_replace('100 broadway Dist 100', '(.*)(Street|Str|Ward|Dist).*', '\1\2', 'i');

输出

100 broadway Dist

根据评论更新

您可以将 .* 替换为 .

SELECT regexp_replace('100 broadway Dist Str 100 Str abc Street', 
'(.)(Street|Dist|Ward|Str).*', '\1\2', 'i');

输出

100 broadway Dist

关于sql - 替换 PostgreSQL 中字符串右侧的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58640174/

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