如何在Google Sheets中用Regexextract提取州名与带引号的州代码
解决Google Sheets REGEX提取州名与缩写的问题
公式说明
假设你的F列内容格式为[州名] "[州代码]"(例如District of Columbia "DC"、New York "NY"、Alaska "AK"),可以用以下公式分别提取:
提取州名到G列
在G3单元格输入:
=TRIM(REGEXEXTRACT(F3,"^(.*)\s"""))
^(.*)\s"":匹配从单元格开头到最后一个空格加双引号前的所有内容,完整捕获多字、三字州名TRIM():去除州名末尾可能残留的空格
提取引号中的州代码到H列
在H3单元格输入:
=REGEXEXTRACT(F3,"""([A-Z]{2})""")
""([A-Z]{2})"":精准匹配双引号内的两位大写字母(美国州缩写统一为两位大写),括号捕获的部分即为州代码
适配其他格式的调整
如果你的F列格式是"[州名]" "[州代码]"(州名也在引号内),可将G列公式改为:
=REGEXEXTRACT(F3,"""(.*?)""")
该公式会提取第一个双引号内的所有内容作为州名。
原公式失效原因
原公式=regexextract(F3,"(\w+)(\s\w+)?")的问题:
\w仅匹配字母、数字和下划线,不包含空格,无法覆盖多字州名- 拆分捕获组的设计最多只能匹配两个单词,自然无法处理
District of Columbia这类三字州名
内容的提问来源于stack exchange,提问作者cheesebag
相关产品推荐
相关产品推荐

