Python-使用string.rep转义双引号

2024-05-17 07:00:38 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将python字符串中的“替换为”?

我有一个带双引号的字符串:

s = 'a string with "double" quotes'

我想用一个反斜杠来转义双引号。

执行以下操作不起作用,它会用两个反斜杠逃脱:

s.replace('"', '\\"')
'a string with \\"double\\" quotes'

打印该字符串的输出显示了我想要的内容。 但我不只是想打印正确的字符串,我希望它保存在变量中。 有人能帮我正确的魔法正则表达式吗?


Tags: 字符串内容stringwith魔法replacequotesdouble
3条回答

你最初的尝试效果很好。您看到的双反斜杠只是显示字符串中实际存在的单反斜杠的一种方式。另请参见:^{}

>>> s = 'a string with "double" quotes'
>>> ss = s.replace('"', '\\"')
>>> len(s)
29
>>> len(ss)
31

字符串正确。但是repr将使用反斜杠转义本身来显示不可打印的字符,并且为了一致性(它应该形成一个Python字符串文本,在求值时,返回给repr的输入相同的字符串),还将转义字符串中出现的每个反斜杠。

注意,这是一个相当有限的转义算法。根据您的需要,您可能需要显著地扩展它(或者有一个现成的解决方案,例如,在使用数据库时预先准备好的语句)

这就是我的工作。

s.replace('"', '\\"')

相关问题 更多 >