我需要从键中删除字符串中的引号。这是一个代码:
import re
mystr = '["key": val, "key2": val, "key3": v, "key5": 34, "key6": "ef"]'
key_pattern = "(\"(?P<key>\w+)\": )"
pattern = re.compile(key_pattern)
print(re.sub(pattern, "\key", mystr))
这不起作用。 我需要得到结果:
mystr = '[key: val, key2: val, key3: v, key5: 34, key6: "ef"]'
最佳答案
你可以使用
"(\w+)"(?=:)
请参阅regex demo 。详情:
"
- 一个"
字符(\w+)
- 第 1 组:一个或多个字母、数字、_
"
- 一个"
字符(?=:)
- 下一个字符必须是:
请参阅Python demo :
import re
mystr = '["key": val, "key2": val, "key3": v, "key5": 34, "key6": "ef"]'
key_pattern = '"(\w+)"(?=:)'
print(re.sub(key_pattern, r"\1", mystr))
# => [key: val, key2: val, key3: v, key5: 34, key6: "ef"]
关于python - 如何替换 "key": value pairs in string with key: value (remove quotes from key)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64121565/