如何在Google表格中使用regexextract函数获取引号中包含的文本和数字

时间:2018-12-07 04:49:09

标签: regex google-sheets

我的琴弦在G14中

a:2:{i:0;a:2:{s:10:"Store Name";s:12:"FIRST CHOICE";s:12:"Amount Spent";s:2:"50";}i:1;a:2:{s:10:"Store Name";s:13:"SECOND CHOICE";s:12:"Amount Spent";s:3:"100";}}

我需要提取商店名称和消费金额值。 即“第一选择”“ 50”“第二选择”“ 100” 目前,我可以使用

提取文本
=trim(regexreplace(REGEXREPLACE(G14,"\b\w[^A-Z]*\b"," "),"\W+"," "))

但是我尝试的任何事情也不会提取数字。

1 个答案:

答案 0 :(得分:0)

这个答案怎么样?我认为您的情况有几个答案。因此,请将此答案视为其中之一。

在这些模式中,假设a:2:{i:0;a:2:{s:10:"Store Name";s:12:"FIRST CHOICE";s:12:"Amount Spent";s:2:"50";}i:1;a:2:{s:10:"Store Name";s:13:"SECOND CHOICE";s:12:"Amount Spent";s:3:"100";}}被放在“ G14”中。

模式1:

=JOIN(",",ARRAYFORMULA(TRIM(SUBSTITUTE(REGEXEXTRACT(G14,REGEXREPLACE(G14,"(""[A-Z0-9 ]+"")","($1)")),"""",""))))
  1. 使用REGEXREPLACE(),它用"FIRST CHOICE"包围"50""SECOND CHOICE""100"()
  2. 使用REGEXEXTRACT(),它会从原始值中检索"FIRST CHOICE""50""SECOND CHOICE""100"
  3. 删除"
  4. 加入。

模式2:

=SUBSTITUTE(TEXTJOIN(",",TRUE,IFERROR(ARRAYFORMULA(TRIM(REGEXEXTRACT(SPLIT(G14,";"),"""[A-Z 0-9]+"""))))),"""","")
  1. 使用SPLIT(),它将原始值除以;
  2. 使用REGEXEXTRACT(),它检索"FIRST CHOICE""50""SECOND CHOICE""100"。当时,它使用#N/A删除了IFERROR()
  3. 使用TEXTJOIN(),它将REGEXEXTRACT()检索的数组加入。
  4. 删除"

结果:

两个结果都相同。

enter image description here

参考:

如果我误解了您的问题,请告诉我。我想修改它。

相关问题