首页 > 解决方案 > 使用 Python 和 Regex 从 JSON 中的文本中删除双引号

问题描述

我有数百万个 JSON 对象,格式为字符串,里面有一点文本。例如:

'{"node": {"text": "Você entra numa livraria de livros jurídicos você tem 
uma pilha de livros dizendo: "você pode fazer isso". Ao lado você tem uma 
pilha de livros que contestam exatamente isso. Assim são as discussões 
sobre a legalidade da flexibilização do porte de armas. Eu examinei bem 
profundamente isso porque sou uma defensor da legítima defesa tive mais 
tempo que o próprio presidente para observar item a item e o presidente 
pode ficar tranquilo!"}}'

我能够将单引号替换为双引号,以便 JSON 模块接受它。但是由于“文本”中的双引号,我遇到了很多错误。我正在尝试编写一个正则表达式来处理它。我编写的代码不仅替换了第一个双引号,还替换了“文本”之后的那些。

re.sub(r'(:\s+"*)', ' ', text)

我如何编写一个正则表达式来清除“você pode fazer isso”中的双引号并保持“文本”之后的双引号完整?

标签: pythonregexpandas

解决方案


尝试使用这个:

\"([^{\":]+)\"(?!:)

并替换为:

$1

正则表达式101


推荐阅读