我正在尝试用双引号替换所有单引号,但留下所有转义的单引号。有没有人知道用python正则表达式做这个的简单方法?
Input:
"{ 'name': 'Skrillex', 'Genre':'Dubstep', 'Bass': 'Heavy', 'thoughts': 'this\'s ahmazing'}"
output:
"{ "name": "Skrillex", "Genre": "Dubstep", "Bass": "Heavy", "thoughts": "this\'s ahmazing"}"
答案 0 :(得分:1)
这有点奇怪,但可能有用。请记住在r
前面添加字符串以表示原始字符串,以便我们可以删除反斜杠:
In [19]: s = r"{ 'name': 'Skrillex', 'Genre':'Dubstep', 'Bass': 'Heavy', 'thoughts': 'this\'s ahmazing'}"
In [20]: s.replace("\\'", 'REPLACEMEOHYEAH').replace("'", '"').replace('REPLACEMEOHYEAH', "\\'")
Out[20]: '{ "name": "Skrillex", "Genre":"Dubstep", "Bass": "Heavy", "thoughts": "this\'s ahmazing"}'
要替换的REPLACEMEOHYEAH
令牌,所以它需要是不会出现在实际字符串中的内容。响应格式看起来像是可以以更自然的方式解析的东西,但如果这不是一个选项,这应该有用。
答案 1 :(得分:0)