给定一个Python字符串,例如:
s = 'This sentence has some "quotes" in it\n'
我希望创建一个新的字符串副本,其中任何引号都被转义(以便在Javascript中进一步使用)。因此,例如,我想要产生这个:
'This sentence has some \"quotes\" in it\n'
我尝试使用replace()
函数,例如:
s.replace('"', '\"')
但是它返回相同的字符串。然后我尝试了这个:
s.replace('"', '\\"')
但是返回了双重转义的引号,例如:
'This sentence has some \\"quotes\\" in it.\n'
如何将"
替换为\"
?
更新:
我需要从这个可复制的文本中输出,显示引号和换行符都已转义。换句话说,我想要能够复制:
'This sentence has some \"quotes\" in it.\n'
如果我使用原始字符串并
打印
结果,我可以得到正确转义的引号,但是转义后的换行符不会被打印。如果我不使用print
,那么我就可以得到我的换行符,但是双重转义的引号。如何创建一个字符串,我可以复制它显示出转义的换行和引号?
s.replace()
似乎和第一个一样。 - Steven Liao'This sentence has some "quotes" in it\n'
是一个有效的Javascript字符串字面量。 - user2357112repr(s)
可以捕获更多的内容,但我不知道结果是否总是有效的 JavaScript;对于 Unicode 字符串来说肯定不是。也许值得考虑使用 json。 - user2357112