regex 在Google工作表中从单元格提取文本而不提取标点符号

8aqjt8rx  于 2022-12-19  发布在  Go
关注(0)|答案(3)|浏览(117)

在F列中,我列出了各州及其缩写。
enter image description here
我想使用一个regex函数来提取状态和状态代码,这样输出看起来就像G列和H列中的内容。
我该怎么做?谢谢!
当我输入:
=正则表达式提取(F3,"(\w+)(\s\w+)?”)
该函数适用于名称为一个单词的州,如Alaska和佛罗里达,但将多个单词的州的内容分为多个列。它也无法捕获“哥伦比亚特区”中的所有三个单词。我可以修复它以捕获3个单词,但它无法解决将输出保持在单列中的单个单元格中的基本问题。
enter image description here
我不知道如何从引号中提取州代码。

yacmzcpb

yacmzcpb1#

您可以捕获可选地以空格重复的单词字符,然后再次捕获第一组中的单词字符,并捕获第二组中双引号之间的所有字符。

=regexextract(F2,"(\w+(?:\s+\w+)*),""([^""]*)""")

kb5ga3dv

kb5ga3dv2#

你在找这样的东西吗?
要提取逗号之前的所有内容:

=REGEXEXTRACT(A29,"[^,]*")

要提取逗号后面的所有内容:

=REGEXEXTRACT(A29,".*,(.*)")

将返回Alaska"AK"

xggvc2p6

xggvc2p63#

您不需要regex,一个简单的SPLIT就可以完成这项工作。

=SPLIT(A1,",""")

或者作为数组公式:

=ArrayFormula(IFERROR(SPLIT(A1:A,""",")))

相关问题