REGEXP REPLACE teradata 以消除地址字段中出现的数字词

REGEXP REPLACE teradata to eliminate numeric words appearing in the address field

我想从地址字段中提取街道名称和类型。

Input = expected output
3/14 MARKDOWN ST = MARKDOWN ST
22-23 MARKDOWN ST = MARKDOWN ST
33C MARKDOWN ST = MARKDOWN ST
33 MARKDOWN VENUE ST = MARKDOWN ST
44/11 MARKDOWN AVE = MARKDOWN AVE

我试过 TRIM(regexp_replace( col, '^[0-9]|[/-][0-9]' )) 但它只是删除了数字,我希望与单词数字相关联的也被删除。

33 MARKDOWN VENUE ST 的输出应该是 MARKDOWN VENUE ST 吗?如果是这样,试试这个:

SELECT 
  myvalue, 
  REGEXP_SUBSTR(myvalue, '^.*?\s(.*)$') AS mystreet
FROM cte

我没有要测试的 TD 系统,但请尝试一下并告诉我。您可能还需要修改匹配参数。

DB Fiddle (postgres)
Reference

试试这个: regexp_replace(upper(<your column>),'\b([^A-Z]*\d)\w*','')

这应该替换任何包含非字母字符的单词。