所以我有一些json文件,这些文件在某些语句中是这样的:
"message": "Merge branch " master " of example-week-18"
虽然消息项中有双引号,但json被销毁了。
因此,基本上我想使用字符串的replace()
方法,但要在邮件项目的双引号内将双引号替换为单引号。我想我必须使用正则表达式+ replace()。 ?
期望的结果是这样
输入:
"message": "Merge branch " master " of example-week-18"
"message": "Don"t do it"
输出:
"message": "Merge branch ' master ' of example-week-18"
"message": "Don't do it"
答案 0 :(得分:0)
您是对的。您可以结合使用正则表达式和 replace
方法。
在这里,我使用re
模块查找所有消息内容(“ message:”之后的块)。然后,我将双引号替换为简单引号。最后,我重建了原始的整个消息。
代码在这里:
# Import module
import re
# Your text
message = """
"message": "Merge branch " master " of example-week-18"
"message": "Don"t do it"
"""
new_text = ""
# Select all the data after: "message":
list_message = re.findall("\"message\"\s*:\s*?(\".*)", message)
# Replace the " by ' in text message content + rebuild original row
for message in list_message:
new_text += '"message": "' + message[1:-1].replace('"', "'") + '"\n'
print(new_text)
# "message": "Merge branch ' master ' of example-week-18"
# "message": "Don't do it"
希望有帮助!