我的琴弦在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+"," "))
但是我尝试的任何事情也不会提取数字。
答案 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”中。
=JOIN(",",ARRAYFORMULA(TRIM(SUBSTITUTE(REGEXEXTRACT(G14,REGEXREPLACE(G14,"(""[A-Z0-9 ]+"")","($1)")),"""",""))))
REGEXREPLACE()
,它用"FIRST CHOICE"
包围"50"
,"SECOND CHOICE"
,"100"
和()
。REGEXEXTRACT()
,它会从原始值中检索"FIRST CHOICE"
,"50"
,"SECOND CHOICE"
和"100"
。"
。=SUBSTITUTE(TEXTJOIN(",",TRUE,IFERROR(ARRAYFORMULA(TRIM(REGEXEXTRACT(SPLIT(G14,";"),"""[A-Z 0-9]+"""))))),"""","")
SPLIT()
,它将原始值除以;
。REGEXEXTRACT()
,它检索"FIRST CHOICE"
,"50"
,"SECOND CHOICE"
和"100"
。当时,它使用#N/A
删除了IFERROR()
。TEXTJOIN()
,它将REGEXEXTRACT()
检索的数组加入。"
。两个结果都相同。
如果我误解了您的问题,请告诉我。我想修改它。