[英]python prefix string with backslash
我正在寻找一种方法来在python中的字符串前加一个反斜杠,例如“]”->“]”。 由于“ \\”在python中不是有效的字符串,因此简单
mystring = '\' + mystring
将无法正常工作。 我目前正在做的事情是这样的:
mystring = r'\@@@' + mystring
mystring.replace('@@@','')
尽管这在大多数情况下都有效,但它并不美观,并且可能对包含“ @@@”或任何“ filler”设置的字符串造成问题。 有这样做的方法吗?
您需要使用第二个转义符来使反斜杠转义,以使其成为字面的反斜杠:
mystring = "\\" + mystring
否则,它认为您试图转义"
,这反过来意味着您没有引号来终止字符串
通常,您可以使用原始字符串表示法( r'string'
),但是当反斜杠是最后一个字符时,则无法使用
print a
和just a
之间的区别:
>>> a = 'hello'
>>> a = '\\' + a
>>> a
'\\hello'
>>> print a
\hello
Python字符串具有称为转义字符的功能。 这些允许您在字符串内部做一些特殊的事情,例如在不关闭输入字符串的情况下显示引号(“或')
所以当你输入
mystring = '\' + mystring
\\'是一个转义的撇号,表示您的字符串中现在已经有一个撇号,表示它实际上并未关闭,您可以看到它,因为该行的其余部分都是彩色的。
要键入反斜杠,必须转义一个,这是这样的:
>>> aBackSlash = '\\'
>>> print(aBackSlash)
\
您应按如下所示转义反斜杠:
mystring = "\\" + mystring
这是因为如果您执行'\\'
,它将最终转义第二个引号。 因此,要从字面上对待反斜杠,必须将其转义。
>>> s = 'hello'
>>> s = '\\' + s
>>> print
\hello
>>> mystring = 'it actually does work'
>>> mystring = '\\' + mystring
>>> print mystring
\it actually does work
作为解决问题的另一种方法,您是否考虑过字符串格式化?
r'\%s' % mystring
要么:
r'\{}'.format(mystring)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.