在文件的某个文本字段内用双引号替换双引号。蟒蛇

时间:2019-06-24 14:40:15

标签: python json string text replace

所以我有一些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"

1 个答案:

答案 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"

希望有帮助!