我正在尝试在字符串中插入反斜杠但是当我这样做时:
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\)'
答案 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(')', '\\)'))