使用正则表达式在 Python 中将转义的双引号替换为单引号

纳雷什

我正在尝试将转义的双引号替换为键值对中的单引号

import re
import json
js = r'{"result":"{\"key\":\"How are you? \"Great!\" he said. \"Coffee ?\"\"},{\"key\":\" 2. \"Why not sure\". They walked away\"}"}'
#print(js)
data1 = json.loads(js)
s = data1['result']
#print(s)
# {"key":"How are you? "Great!" he said. "Coffee ?""},{"key":" 2. "Why not, sure.". They walked away"}
p = re.compile(r"\"key\":\"(.*\"(.*)\".*)\"")
print(p.sub(r'\'\2\'',s))
# {\'Why not, sure.\'}
json_string = "[{0}]".format(p.sub(r'\'\1\'',s))
data_list = json.loads(json_string)

使用上面的代码,我得到了一个输出 \'Coffee ?\' 而不是整个字符串。我想只在值部分替换双引号。

String : "key":"你好吗?"太好了!"他说。"咖啡?"",

预期字符串: “key”:“你好吗?'太棒了!' 他说。'咖啡?'”,

皮托

这个答案只是在我们交换的评论之后:

import json
js = r'{"result":"{\"key\":\"How are you? \"Great!\" he said. \"Coffee ?\"\"},{\"key\":\" 2. \"Why not sure\". They walked away\"}"}'
data1 = json.loads(js)
s = data1['result']

good_characters = [":","{","}", ","]
result = "" 
for key, value in enumerate(s):
    if (value == "\"" and s[key-1] not in good_characters) and (value == "\"" and s[key+1] not in good_characters):
        result += '\''  
    else:
        result += value

print (result)

输出

{"key":"How are you? 'Great!' he said. 'Coffee ?'"},{"key":" 2. 'Why not sure'. They walked away"}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有转义单引号的单引号字符串上的Python正则表达式

来自分类Dev

Python:正则表达式lookbehind在单引号或双引号后得到单词

来自分类Dev

Python正则表达式将带引号的字符串与转义的单引号匹配

来自分类Dev

在python中使用正则表达式删除带引号的双引号

来自分类Dev

Python正则表达式匹配双引号或“ <>”

来自分类Dev

正则表达式的Python原始字符串表示法的单引号,双引号或三重双引号?

来自分类Dev

使用正则表达式的Python替换短代码

来自分类Dev

正则表达式匹配按空格分隔的转义双引号/单引号?

来自分类Dev

Python:正则表达式替换

来自分类Dev

Python替换正则表达式

来自分类Dev

Python替换正则表达式

来自分类Dev

如何在Python csv writer中将单引号替换为双引号?

来自分类Dev

如何在Python中使用正则表达式获取最右边的字符以及双引号之间的文本

来自分类Dev

Python正则表达式索引号

来自分类Dev

Python正则表达式索引号

来自分类Dev

Python正则表达式替换引号中的文本(引号本身除外)

来自分类Dev

Python正则表达式替换引号中的文本(引号本身除外)

来自分类Dev

提取单引号正则表达式和python之间的短语

来自分类Dev

提取单引号正则表达式和python之间的短语

来自分类Dev

正则表达式替换无法在Python中用正则表达式变量替换

来自分类Dev

如何使用正则表达式在python中的单词周围添加引号?

来自分类Dev

在 Python 中使用正则表达式将单词添加到引号中

来自分类Dev

Python正则表达式在双引号中查找值(忽略其他语言字符)

来自分类Dev

Python正则表达式匹配模式不被双引号引起来

来自分类Dev

正则表达式混淆使用双引号和单引号

来自分类Dev

如何使用正则表达式匹配单引号或双引号中的字符串

来自分类Dev

使用正则表达式从链接中提取单引号和双引号 url

来自分类Dev

将Perl正则表达式转换为python正则表达式

来自分类Dev

将python搜索正则表达式转换为ruby正则表达式

Related 相关文章

  1. 1

    带有转义单引号的单引号字符串上的Python正则表达式

  2. 2

    Python:正则表达式lookbehind在单引号或双引号后得到单词

  3. 3

    Python正则表达式将带引号的字符串与转义的单引号匹配

  4. 4

    在python中使用正则表达式删除带引号的双引号

  5. 5

    Python正则表达式匹配双引号或“ <>”

  6. 6

    正则表达式的Python原始字符串表示法的单引号,双引号或三重双引号?

  7. 7

    使用正则表达式的Python替换短代码

  8. 8

    正则表达式匹配按空格分隔的转义双引号/单引号?

  9. 9

    Python:正则表达式替换

  10. 10

    Python替换正则表达式

  11. 11

    Python替换正则表达式

  12. 12

    如何在Python csv writer中将单引号替换为双引号?

  13. 13

    如何在Python中使用正则表达式获取最右边的字符以及双引号之间的文本

  14. 14

    Python正则表达式索引号

  15. 15

    Python正则表达式索引号

  16. 16

    Python正则表达式替换引号中的文本(引号本身除外)

  17. 17

    Python正则表达式替换引号中的文本(引号本身除外)

  18. 18

    提取单引号正则表达式和python之间的短语

  19. 19

    提取单引号正则表达式和python之间的短语

  20. 20

    正则表达式替换无法在Python中用正则表达式变量替换

  21. 21

    如何使用正则表达式在python中的单词周围添加引号?

  22. 22

    在 Python 中使用正则表达式将单词添加到引号中

  23. 23

    Python正则表达式在双引号中查找值(忽略其他语言字符)

  24. 24

    Python正则表达式匹配模式不被双引号引起来

  25. 25

    正则表达式混淆使用双引号和单引号

  26. 26

    如何使用正则表达式匹配单引号或双引号中的字符串

  27. 27

    使用正则表达式从链接中提取单引号和双引号 url

  28. 28

    将Perl正则表达式转换为python正则表达式

  29. 29

    将python搜索正则表达式转换为ruby正则表达式

热门标签

归档