对于当前的任务,我的NotePad++文件中有如下所示的JSON数据,
"hits": {
"total": 85,
"max_score": 1,
"hits": [
{
"_index": "mycluster",
"_type": "subjectData",
"_id": "24",
"_score": 1,
"fields": {
"CaseA": [
"Personal and Culinary Services"
]
}
},
{
"_index": "mycluster",
"_type": "subjectData",
"_id": "30",
"_score": 1,
"fields": {
"CaseA": [
"na"
]
}
},
{
"_index": "mycluster",
"_type": "subjectData",
"_id": "31",
"_score": 1,
"fields": {
"CaseA": [
"Agriculture, Agriculture Operations, and Related Sciences"
]
}
}
]
}我需要从整个文件中单独提取CaseA值,
"CaseA": [
"Personal and Culinary Services"
]比如“个人和烹饪服务”。
有没有办法这样做,“CaseA”:1美元??
任何帮助/建议/想法都是有用的。
发布于 2017-12-21 08:34:40
Notepad++是解析JSON的一个特别糟糕的工具。JSON解析器会好得多,但我们可以尝试编写一个正则表达式:
查找:
(?:(?!"CaseA":).)*("CaseA":\s+\[[^\]]*\])替换:
$1\n上面模式的基本思想是在文本"CaseA":开始之前使用所有东西。此时,我们使用并捕获CaseA文本。在替换中,我们只使用要保留的文本。
我还没有在Notepad++中测试这一点,但是匹配在下面的演示中确实有效。
https://stackoverflow.com/questions/47920803
复制相似问题