将单引号(')替换为双引号(“),撇号除外

2024-10-06 12:32:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有无效json的数据集,请参阅下面的片段:

{'id': 613, 'name': "new year's eve"}

我想替换除撇号以外的所有单引号,比如in:newyear's。因此,上面的字符串应该生成有效的json,如:

^{pr2}$

我在Python中尝试了一个简单的字符串替换:字符串。替换(“'”,“\”“),但这也会更改撇号,从而导致:

{"id": 613, "name": "new year"s eve"}

有没有一种方法可以用regex解决这个问题,比如replace all'(除非用“封装时)?在


Tags: 数据方法字符串nameinidjsonnew
2条回答

你可以试试

'(\w+)'\s*:

a demo on regex101.com


Python中: ^{pr2}$

这就产生了

{'id': 613, 'name': "new year's eve"}

更妙的是:这根弦从哪里来?在

您可以使用ast模块

例如:

import ast

s = """{'id': 613, 'name': "new year's eve"}"""
d = ast.literal_eval(s)
print(d)

相关问题 更多 >