如何在python中将“\”附加到字符串的开头

问题描述 投票:-2回答:2

如何将\字符附加到python中的字符串的开头,它会抛出一个错误说

SyntaxError:扫描字符串文字时的EOL

每当字符串中出现下划线时,我需要附加\

例如:

__x_a\_\_x_a这只需要为最初的下划线做

python string-literals
2个回答
2
投票

你可以使用re.sub

>>> import re
>>> s = "__x_a" 
>>> new_s = re.sub(r'^_*', lambda x: x.group().replace('_', '\_'), s)
>>> print(new_s)
\_\_x_a

2
投票

Python中的单个反斜杠是这样编写的:

"\\"

各种说服自己的方法:

>>> len("\\")
1
>>> print("\\")
\
>>> "\\\\\\\\\\\\\\\\\\"[0]
'\\'
>>> chr(92)
'\\'
>>> '\N{REVERSE SOLIDUS}'
'\\'

奇怪之处在于,因为反斜杠是转义字符,所以必须转义反斜杠本身。

那么,回答标题中的问题:

如何在python中将“\”附加到字符串的开头

您可以使用:

mystring = "\\" + mystring

在您的示例情况下,只转发前导下划线,尝试这样的事情:

>>> mystring = '__x_a'
>>> n = next((i for i,c in enumerate(mystring) if c != '_'), len(mystring))
>>> result = mystring.replace('_', r'\_', n)
>>> print(result)
\_\_x_a
© www.soinside.com 2019 - 2024. All rights reserved.