4

""を"\s"に単純に置き換えようとしています(文字通りの\ sであり、ある種のバックスラッシュエスケープではありません)。これは私が起こるべきだと思うことです:

>>> 'asdf hjkl'.replace(' ', '\s')
'asdf\shjkl'

これは私がしました:

>>> 'asdf hjkl'.replace(' ', '\s')
'asdf\\shjkl'
>>> 'asdf hjkl'.replace(' ', '\\s')
'asdf\\shjkl'

どちらも私が期待したものを返しません、そして私は私の人生のために何が起こっているのか理解することができません。期待される出力を得るには、どの入力を使用する必要がありますか?

4

2 に答える 2

4

あなたはあなたが望むものを手に入れています。REPLではそのようには見えません。

>>> 'asdf hjkl'.replace(' ', '\s')[4]
'\\'

ご覧のとおり、これは2文字ではなく1文字です。

それを試してみてくださいprint

>>> print 'asdf hjkl'.replace(' ', '\s')
asdf\shjkl
于 2011-07-28T22:53:01.843 に答える
2

結果は表示されるだけです。次のことを試してください。

a = 'asdf hjkl'.replace(' ','\s')
print a
于 2011-07-28T22:53:39.370 に答える