Python如何用re.sub()替换反斜杠

use*_*437 13 python python-2.7

我有以下字符串

mystr1 = 'mydirname'
myfile = 'mydirname\myfilename'
Run Code Online (Sandbox Code Playgroud)

我正在努力做到这一点

newstr = re.sub(mystr1 + "\","",myfile)
Run Code Online (Sandbox Code Playgroud)

如何逃避我试图连接到mystr1的反斜杠?

Tim*_*ker 26

你需要一个四重反斜杠:

newstr = re.sub(mystr1 + "\\\\", "", myfile)
Run Code Online (Sandbox Code Playgroud)

原因:

  • 正则表达式匹配单个反斜杠: \\
  • 用于描述此正则表达式的字符串:"\\\\".

或者你可以使用原始字符串,所以你只需要一个双反斜杠: r"\\"