raw string原始字串转化为normal string一般字符串
在一些网站回应 或者用户输入的字符串,收到的是raw string,相当于在字串前加r
,或者相当于普通字串的\
被转意为\\
。比如
a = r'abc\n\t123'
a
# >>> 'abc\\n\\t123'
print(a)
# >>> abc\n\t123
实际上,想要把a
当作正常字串处理。用a.replace
无法把r'\\'
替换为r'\'
,因为即使有用r
,python依然会把r'\'
中的\'
做转意处理,造成SyntaxError
,不知道算不算是bug。
如果知道raw string中会出现的需要转意的符号,比如可以用a.replace('\\n', '\n')
和a.replace('\\t', '\t')
分别处理,需要注意a.replace()
不会改变a
自身,而是返回新的字串。
a = r'abc\n\t123'
b = a.replace('\\n', '\n')
b
# >>> 'abc\n\\t123'
print(b)
# >>>