4

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

s = r"This is a 'test' string"

文字列は次のようになりますので、置き換えようとして'います。\'

s = r"This is a \'test\' string"

試してみs.replace("'","\'")ましたが、結果に変化はありません。それは同じままです。

4

3 に答える 3

8

"\'""'"バックスラッシュをエスケープする必要があります。

mystr = mystr.replace("'", "\\'")

それを生の文字列r"\'"にすることもできます。

mystr = mystr.replace("'", r"\'")

またstr、組み込みを上書きし、後で組み込みを使用しようとしたときに混乱を招く可能性があるため、(または他の組み込み名) を変数名として使用しないでください。

>>> mystr = "This is a 'test' string"
>>> print mystr.replace("'", "\\'")
This is a \'test\' string
>>> print mystr.replace("'", r"\'")
This is a \'test\' string
于 2013-03-04T07:24:41.783 に答える
6

「\」をエスケープする必要があります。

str.replace("'","\\'")

"\" はエスケープ シーケンス インジケーターであり、通常の文字として使用するには、それ自体で (単独で) エスケープする必要があります。

于 2013-03-04T07:24:28.243 に答える
2
>>> str = r"This is a 'test' string"
>>> print str
This is a 'test' string
>>> str.replace("'","\\'")
"This is a \\'test\\' string"

特殊文字をエスケープする必要があります\

于 2013-03-04T07:25:19.510 に答える