我希望它打印出来
this is '(single quote) and "(double quote)
我使用以下内容(我想在这里使用原始字符串'r')
a=r'this is \'(single quote) and "(double quote)'
但打印出来
this is \'(single quote) and "(double quote)
在原始字符串中转义'的正确方法是什么?
答案 0 :(得分:5)
>>> a=r'''this is '(single quote) and "(double quote)'''
>>> print(a)
this is '(single quote) and "(double quote)
答案 1 :(得分:4)
引自Python String Literals Docs,
当存在
'r'
或'R'
前缀时,字符串中包含反斜杠后面的字符不会更改,并且所有反斜杠都保留在字符串中。例如,字符串文字r"\n"
由两个字符组成:反斜杠和小写'n'
。 字符串引号可以使用反斜杠进行转义,但反斜杠仍保留在字符串中; 例如,r"\""
是一个有效的字符串文字,由两个字符组成:反斜杠和双引号。< / p>
有两种方法可以修复此
使用多行原始字符串,如Python Strings
部分所述print(r"""this is '(single quote) and "(double quote)""")
# this is '(single quote) and "(double quote)
使用String literal concatenation,
print(r"this is '(single quote) and " r'"(double quote)')
# this is '(single quote) and "(double quote)