我获得了以下API的JSON:
{
"things": [
{
"id": 100,
"bla": "blablablabla",
"summary": "blablablabla",
"date": "11/12/2016",
},
{
"id": 101,
"bla": "blablablabla",
"summary": "blablablabla",
"date": "02/05/2017",
},
{
"id": 102,
"bla": "blablablabla",
"summary": "blablablabla",
"date": "03/03/2017",
},
{
"id": 103,
"bla": "blablablabla",
"summary": "blablablabla",
"date": "12/04/2017",
}
]
}
你可以看到这个json中有一个拼写错误,因为日期之后的逗号是错误的,有没有办法在每个日期之后删除这个逗号?
答案 0 :(得分:3)
替换逗号字符,后跟换行符和空格字符,后跟}
str.replace(/,(?=[\n\s]+})/g, "")
答案 1 :(得分:1)
您可以使用以下RegEx:("date": "[0-9\/]*"),
preg_replace("/("date": "[0-9\/]*"),/", "$1", $json);
我们搜索"date": "
,然后搜索0-9或斜线的任意数字,这将带我们一直到最终的引号。在模式中,我们包括此引号。从第一个引号到最后一个引号,全部包含在括号中,以便它是一个组匹配(我们将调用"组1和#34;),然后我们验证它以逗号,
结尾。一旦我们验证了这一点,我们就用" Group 1"替换整个选择,以便从字符串中删除逗号。
您可以看到更详尽的演练on regex101。