首页 > 解决方案 > 在python中替换反斜杠'\'

问题描述

尝试在 python 中替换 '\' 时,数据发生了变化并给了我未知的字母。

我试过 string.replace、re.sub、regex_replace

a = '70\123456'
b = '70\123\456'

a = a.replace('\\','-')
b = b.replace('\\','-')

预期结果:

a = '70-123456'
b = '70-123-456'

但实际结果是:

a = 70S456
b = 70SĮ

问题是什么以及如何解决?

标签: pythonreplacepython-unicode

解决方案


那是因为\123and\456是特殊字符(八进制)。尝试这个:

a = r'70\123456'
b = r'70\123\456'

a = a.replace('\\','-')
b = b.replace('\\','-')

print(a)
print(b)

推荐阅读