在字符串python中将单引号替换为双引号

时间:2018-11-29 17:08:06

标签: python string

我有一个像这样的字符串:

char = 'TEST'

我试图得出以下结果:

char = "'TEST'"

重要的是,双引号应放在单引号周围,而不是相反。 我正在使用雪花连接器,而后者是我可以使用format方法运行查询的唯一方法。

我尝试使用replace,但无法弄清楚。

4 个答案:

答案 0 :(得分:4)

没有引号需要替换:char的值为TEST,四个字符。单引号是表示数据类型的Python语法。

如果您希望char包含这些单引号,则可以将它们连接到原始值:

char = "'" + char + "'"

根据Python语法,单引号包含在双引号中。您还可以“转义”字符:

char = '\'' + char + '\''

反斜杠表示后跟字符将被解释为文字字符,而不是语法指示。

答案 1 :(得分:3)

字符串文字中的外引号不是字符串的一部分,它们表示您有一个字符串对象。

'TEST'"'TEST'",您什么都没有替换。您正在将两个单引号添加到长度为4的字符串中!

>>> t1 = 'TEST'
>>> t2 = "'TEST'"
>>> len(t1)
4
>>> len(t2)
6

话虽如此,您可以根据需要使用repr获取第二个字符串。

>>> repr(t1)
"'TEST'"

这是一个快速的技巧(请参阅评论),使用起来更健壮和明确

"'{}'".format(t1)

答案 2 :(得分:1)

单/双引号用于声明字符串类型,两者均可用,但它们不是字符串本身的一部分。但是,如果您想在字符串中包含',请使用双引号,反之亦然。

char = 'TEST'
s = "'{}'".format(char)
print(s)
>>'TEST'

答案 3 :(得分:1)

单打引号不是字符串的一部分,该字符串仅包含 4 个字符,TEST

对于py3

char = "TEST"
char = f"'{char}'"

对于py2

char = "TEST"
char = "'{}'".format(char)