替换反斜杠'\';用python
在python中尝试替换“\”时,数据发生了更改,并给出了未知的字母 我试过string.replace、re.sub、regex\u replace替换反斜杠'\';用python,python,replace,python-unicode,Python,Replace,Python Unicode,在python中尝试替换“\”时,数据发生了更改,并给出了未知的字母 我试过string.replace、re.sub、regex\u 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Į 问题是什么?如何解决?这是因为\123和\4
a = '70\123456'
b = '70\123\456'
a = a.replace('\\','-')
b = b.replace('\\','-')
预期结果:
a = '70-123456'
b = '70-123-456'
但实际结果是:
a = 70S456
b = 70SĮ
问题是什么?如何解决?这是因为
\123
和\456
是特殊字符(八进制)。
试试这个:
a = r'70\123456'
b = r'70\123\456'
a = a.replace('\\','-')
b = b.replace('\\','-')
print(a)
print(b)
我建议您先打印
a
和b
,然后再调用replace
尝试print('70\123456')
。该字符串从未包含反斜杠…请在定义后立即尝试打印(a,b)。它们中是否有反斜杠?您不仅应该在replace函数中引用反斜杠。请参见\ooo
在字符串文字中的含义:我想制作一个脚本,将“r”与“70\123456”连接起来。从pyspark.sql.functions导入concat_ws n=concat_ws('r','70\123456')打印(n)结果:Column@CharbelKeedy我不明白你的意思。我的字段是70\123456而不是r'70\123456'。怎么处理?@CharbelKeedy你说的田地会这样是什么意思?如果这是您的文本,无论它来自何处,python都会处理它,并从70\123456
自动将其解析为70\\123456
。它逃过了刀口