我有一个像这样的字符串:
char = 'TEST'
我试图得出以下结果:
char = "'TEST'"
重要的是,双引号应放在单引号周围,而不是相反。
我正在使用雪花连接器,而后者是我可以使用format
方法运行查询的唯一方法。
我尝试使用replace
,但无法弄清楚。
答案 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)