【发布时间】:2013-09-24 01:27:27
【问题描述】:
在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 结果,我得到正确转义的引号,但转义的换行符不会打印。如果我不使用print,那么我会得到我的换行符但双引号。如何创建一个我可以复制的字符串来显示换行符和引号已转义?
【问题讨论】:
-
我可能遗漏了什么,但您的第二个
s.replace()似乎与第一个相同。 -
您最后的替换是正确的。尝试
printing 字符串,看看会发生什么 -
我很确定
'This sentence has some "quotes" in it\n'是一个有效的 Javascript 字符串文字。 -
您确定要替换引号吗?反斜杠、退格和其他各种奇怪的废话通常也需要转义。
repr(s)捕获了更多的东西,虽然我不知道结果是否总是有效的 Javascript;它绝对不适用于 unicode 字符串。 json 也可能值得研究。