你能帮我解析Google工作表单元格中的一些JSON内容吗?
我可以用正则表达式捕获组匹配第一个模式,但不能匹配下面的模式。我没有成功地放置/gmi选项或从其他一些代码示例中修改我的情况,我又浪费了两天的时间。非常感谢。
单元格中的json:
[
{"idcode":"1AGLG";parent:"1A";level:"Genus";title:"Aglaonema";IsGroup:true};
{"idcode":"1ALDG";parent:"1A";level:"Genus";title:"Alocasia";IsGroup:true};
{"idcode":"1BBSG";parent:"1A";level:"Genus";title:"Ambrosina";IsGroup:true};{"idcode":"1AMUG";parent:"1A";level:"Genus";title:"Amorphophallus";IsGroup:true}
]
我的公式:
REGEXEXTRACT(A1; """idcode"":""([\w]+)""(?:.*?title:"")([\w]+)""")
和图纸文件:https://docs.google.com/spreadsheets/d/17YSCK2S8IeqFE_Y_kqWQLVwT9VONXkxvCY3Hlr-8Xpc/edit
5条答案
按热度按时间bt1cpqcv1#
这个样品配方怎么样?
样品配方:
[{"idcode":"1AGLG";parent:"1A";level:"Genus";title:"Aglaonema";IsGroup:true};{"idcode":"1ALDG";parent:"1A";level:"Genus";title:"Alocasia";IsGroup:true};{"idcode":"1BBSG";parent:"1A";level:"Genus";title:"Ambrosina";IsGroup:true};{"idcode":"1AMUG";parent:"1A";level:"Genus";title:"Amorphophallus";IsGroup:true}]
的值放入单元格“A1”中。1.使用
REGEXREPLACE
将原始值中的[\[{}\]]
替换为""
。1.使用
REGEXREPLACE
将第一个替换值中的""idcode"":""([\w]+)""(?:.*?title:"")([\w]+)"";IsGroup:true;?
替换为$1,$2,
。结果:
注:
SPLIT
使用@
和,
两次。,
和@
包含在原始值中,请更改上述公式。参考文献:
gmol16392#
您还可以使用以下公式,其中我们使用2个捕获组,
REGEXREPLACE
与JOIN
函数或REGEXEXTRACT
相结合,以获得更多 “灵活性”。在这两种情况下,
ArrayFormula
和SPLIT
函数都是必须的:作为单个单元格
在一行中的单独单元格中
作为列表在单独的单元格中
使用的功能:
ArrayFormula
TRANSPOSE
JOIN
SPLIT
REGEXREPLACE
REGEXEXTRACT
0md85ypi3#
最后,我混合了这两个公式,以便指定targeted标志并匹配它们后面的多个单词:
wkyowqbh4#
提取给定模式后引号之间的任何内容(这里是单词“parent”)(受marikamitsos启发)
olqngx595#
提取3个给定模式(此处为“flag 1”、“parent”、“3rdFlag”)后的括号内字符串
json文本示例:
[{“标志1”:“1AGLG”;父代:“1A是第二个检索”;级别:“属”;3rdFlag:“Aglaonema是我喜欢的方式”};{“标志1”:“1ALDG”;父项:“12 A是第二个检索”;级别:“属”;第3个标志:“阿洛西亚”;{“标志1”:“1AOWG”;父代:“BA是第二个检索”;级别:“属”;第3面旗帜:“锚鱼”;{“标志1”:“1个AUIG”;父代:“1A是第二个检索”;级别:“属”;第三面旗帜:“阿努比亚”;{“标志1”:“1AQOG”;父级:“2CA是第二个检索的CA”;级别:“属”;第3个标志:“结尾的拟海鲶”}]
公式:
结果:
1AGLG / 1A是第二次找回/ Aglaonema是我喜欢的方式;1ALDG /12 A是第二个回收的/ Alocasia ;1AOWG / BA是第二个回收/锚定烷;1AUIG / 1A是第二个收回的/ Anubias ;1AQOG / 2CA是第二个回收的/ Ariopsis在最后