Строка заменяется на обратную косую черту в Python - PullRequest
1 голос
/ 29 июля 2011

Я пытаюсь сделать простую замену "" на "\ s" (литерал \ s, а не какой-нибудь обратный слэш).Вот что, я думаю, должно произойти:

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

Я сделал это:

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

Ни то, ни другое не возвращает того, что я ожидал, и я не могу, по жизни, понять, что происходит,Какой ввод я должен использовать, чтобы получить ожидаемый результат?

Ответы [ 2 ]

3 голосов
/ 29 июля 2011

Вы получаете то, что хотите.В REPL все выглядит иначе:

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

Как видите, это один символ, а не два.

Попробуйте print ing it:

>>> print 'asdf hjkl'.replace(' ', '\s')
asdf\shjkl
2 голосов
/ 29 июля 2011

Результат отображается только, попробуйте следующее,

a = 'asdf hjkl'.replace(' ','\s')
print a
...