17

私は次の文字列を持っています

mystr1 = 'mydirname'
myfile = 'mydirname\myfilename'

私はこれをやろうとしています

newstr = re.sub(mystr1 + "\","",myfile)

mystr1に連結しようとしているバックスラッシュをエスケープするにはどうすればよいですか?

4

2 に答える 2

36

4つの円記号が必要です。

newstr = re.sub(mystr1 + "\\\\", "", myfile)

理由:

  • 単一の円記号に一致する正規表現:\\
  • この正規表現を説明する文字列:"\\\\"

または、生の文字列を使用できるため、必要なのは2つの円記号だけです。r"\\"

于 2012-05-14T14:32:46.590 に答える
0

正規表現では、他の文字の前に円記号を置くことで、他の文字と同じように円記号をエスケープできます。これは、「\\」が単一の円記号であることを意味します。

于 2012-05-14T14:33:35.573 に答える