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

如何使用MySQL的REGEXP_SUBSTR提取*分隔的地址、城市、州及邮政编码

用REGEXP_SUBSTR提取*分隔的地址各字段

你的地址文本按地址*城市*州*邮政编码*格式用*分隔,原来的正则表达式不太适配这个场景,换成分隔符定位的方式更简单直接:

提取各字段的示例代码

  • 地址(第1个*分隔前的内容):
REGEXP_SUBSTR('4550 Montgomery Avenue*Toronto*Ontario*M4A 2S3*', '[^*]+', 1, 1)

返回:4550 Montgomery Avenue

  • 城市(第1个和第2个*之间的内容):
REGEXP_SUBSTR('4550 Montgomery Avenue*Toronto*Ontario*M4A 2S3*', '[^*]+', 1, 2)

返回:Toronto

  • 州(第2个和第3个*之间的内容):
REGEXP_SUBSTR('4550 Montgomery Avenue*Toronto*Ontario*M4A 2S3*', '[^*]+', 1, 3)

返回:Ontario

  • 邮政编码(第3个和第4个*之间的内容):
REGEXP_SUBSTR('4550 Montgomery Avenue*Toronto*Ontario*M4A 2S3*', '[^*]+', 1, 4)

返回:M4A 2S3

原理说明

[^*]+表示匹配任意不含的连续字符,REGEXP_SUBSTR的第4个参数指定要提取第几个匹配的片段,这样不管每个字段里包含空格还是其他特殊字符,只要分隔符是,就能精准拿到对应位置的内容。即使部分文本末尾没有多余的*,这个写法也能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 19:55:20