Har*_*rry 19 python regex escaping
我有一个python字典,例如:
[{"pk":"1","name":"John","size":"1/4" "},{},{},etc]
Run Code Online (Sandbox Code Playgroud)
那个大小是1/4英寸,我怎么会"逃脱"这个引用?所以它仍然会显示为1/4",
它是一个列表的东西,所以我不能只是手动编码1/4\",我试过replace('"','\"')
编辑:原始列表是我的Django模型中的文本字段:
[{'pk': '91', 'size': '', 'name': 'Thread Flat For BF', 'quantity': '2'}, {'pk': '90', 'size': '', 'name': 'Blade Holders Straight ', 'quantity': '26'},{'size':'3"','name':'2m 1/4" Round bar', 'quantity':'43'},{'size':'5','name':'2m 1/8" Round bar', 'quantity':'4'}]
Run Code Online (Sandbox Code Playgroud)
下一步我必须准备jQuery的列表,所以我这样更换,以便在json的正确语法中.mat_list = manufactured_part.material_list.replace("'",'"')
然后我有这个清单:
[{"pk": "91", "size": "", "name": "Thread Flat For BF", "quantity": "2"}, {"pk": "90", "size": "", "name": "Blade Holders Straight ", "quantity": "26"},{"size':"3"","name':"2m 1/4" Round bar", "quantity":"43"},{"size":"5","name":"2m 1/8" Round bar", "quantity":"4"}]
Run Code Online (Sandbox Code Playgroud)
所以现在列表被发送到模板,我用jquery循环它,但由于"在字符串中",列表被打破了.
所以...我需要逃避那些"为了列表工作,否则它有明显的语法错误.
希望现在有意义.
谢谢
ste*_*ema 35
你需要在替换中逃避反斜杠才能打印出来.尝试
replace('"','\\"')
Run Code Online (Sandbox Code Playgroud)
使用
shlex.quote("string")
或者
pipes.quote("string")
取决于对我有用的 python 版本。
您可以在这里查看更多详细信息
https://github.com/python/cpython/blob/master/Lib/shlex.py#L281