Python在字符串中插入“\”

时间:2013-08-30 14:12:37

标签: python string

我正在尝试在字符串中插入反斜杠但是当我这样做时:

s1='cn=Name Surname (123)'
s1[:17] + '\' + s1[17:]

我得到了

SyntaxError: EOL while scanning string literal

此外,试过这个,但它插入2个反斜杠

s1[:17] + '\\' + s1[17:]

最终字符串应如下所示

s1='cn=Name Surname \(123\)'

4 个答案:

答案 0 :(得分:5)

下面:

>>> s1 = 'cn=Name Surname (123)'
>>> x = s1[:16]+'\\'+s1[16:-1]+'\\'+s1[-1:]
>>> x
'cn=Name Surname \\(123\\)'
>>> print x
cn=Name Surname \(123\)
>>>

你必须打印字符串。否则,您将看到\\(在解释器中用于显示文字反斜杠)。

答案 1 :(得分:4)

>>> s1='cn=Name Surname (123)'
>>> s1[:17] + '\\' + s1[17:]
'cn=Name Surname (\\123)'

这似乎是两个反斜杠,但它实际上只包含一个反斜杠。

>>> print(s1[:17] + '\\' + s1[17:])
cn=Name Surname (\123)
>>> print s1[:17] + '\\' + s1[17:-1] + '\\' + s1[-1:]
cn=Name Surname (\123\)

答案 2 :(得分:1)

如果您只是在python命令行解释器中输入并按Enter键,它将显示为两个反斜杠,因为解释器显示转义字符。但是,如果将其保存到文件中,或者在“print”命令中使用它,它将禁止转义字符并打印实际值,在这种情况下只是一个反斜杠。

答案 3 :(得分:0)

这样的事情能够满足吗?

print(s1.replace('(', '\\(').replace(')', '\\)'))