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]
'\\'

如您所见,这是一个字符,而不是两个。

试试看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 回答