我有一个我想清理的json文件。我使用python字典匹配模式并替换为另一个字符串。例如,我使用解析字典将值替换为值:
parse_dict = {"\\r\\n\s*<!--\s*INTRODUCTION\s*-->\s*\\r\\n":""}
我的json看起来像这样:
[{"name": ["website1"], "description": ["<p>\r\n <!-- INTRODUCTION -->\r\n </p>",
"<p>\r\n some text \r\n </p>"...
我想删除<p>\r\n <!-- INTRODUCTION -->\r\n </p>
部分。但不知何故,解析词典无法匹配该字符串。知道为什么吗?
此外,我尝试{"<!-- INTRODUCTION -->":""}
,直接使用空格而不是\s
,并且匹配。
还尝试了{"\s*<!-- INTRODUCTION -->":""}
,不匹配。
答案 0 :(得分:0)
不知道你在做什么,但它确实有效:
>>> parse_dict = {"\\r\\n\s*<!--\s*INTRODUCTION\s*-->\s*\\r\\n":""}
>>> json = '[{"name": ["website1"], "description": ["<p>\r\n <!-- INTRODUCTION -->\r\n </p>", "<p>\r\n some text \r\n </p>"...'
>>> for pattern, replacement in parse_dict.items():
json = re.sub(pattern, replacement, json)
>>> json
'[{"name": ["website1"], "description": ["<p> </p>", "<p>\r\n some text \r\n </p>"...'