Python 中用反斜杠替换字符串

发布于 2024-11-27 03:47:00 字数 356 浏览 0 评论 0原文

我正在尝试用“\s”(文字 \s,而不是某种反斜杠转义)简单替换“”。这就是我认为应该发生的事情:

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

我这样做了:

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

两者都没有返回我所期望的结果,而且我一生都无法理解发生了什么。我必须使用什么输入才能获得预期的输出?

I'm trying to do a simple replacement of " " with "\s" (the literal \s, not some sort of backslash escape). This is what I think should happen:

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

I did this:

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

Neither returns what I expected, and I can't for the life of me understand what's going on. What input do I have to use to get my expected output?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晨与橙与城 2024-12-04 03:47:00

你正在得到你想要的。它在 REPL 中看起来并非如此:

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

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

尝试打印它:

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

You're getting what you want. It just doesn't look that way in the REPL:

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

As you can see, that's one character, not two.

Try printing it:

>>> print 'asdf hjkl'.replace(' ', '\s')
asdf\shjkl
念三年u 2024-12-04 03:47:00

仅显示结果,
尝试以下操作,

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

The result is only displayed,
try the following,

a = 'asdf hjkl'.replace(' ','\s')
print a
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文