【问题标题】:Can't use \s as an escape character? [closed]不能使用 \s 作为转义字符? [关闭]
【发布时间】:2016-08-21 21:41:44
【问题描述】:

我可以毫无问题地使用其他转义字符,但我的 atom 文本编辑器和 python 本身并不将其视为转义字符,而是将其视为普通字符。

print '\s', test_line

只写

\stesting_bot1

我怎样才能使编辑器和 python 将其视为转义字符和空格?

【问题讨论】:

  • \s 不是 Python 中的转义序列。

标签: python string syntax


【解决方案1】:

\s 不是 Python 中的转义序列。 \t\n\r 等是(请参阅the Python lexical analysis docs),但非特殊字符不会被解释为任何特殊字符,因此您的 \s 按字面意思出现。

不过,\s 确实意味着regular expression syntax 中的空格……

【讨论】:

  • 感谢澄清 \s 被归类为“空间”,所以我很困惑为什么它不能这样工作。
  • 我明白了 - 已更新以反映可能的混淆来源..
【解决方案2】:

我认为您可能会将regexstring 混淆。对于一个普通的字符串,你只需要使用空格字符来打印它:

print(' testing_bot1')

\s 不是转义序列,因此将被解释为只是反斜杠 + "s"。

【讨论】:

  • 啊,我知道我想使用更优雅的空间方式,但我想我只是固执。谢谢,但我想知道为什么 \s 在教程点中被归类为转义字符。
  • @BuğraCoşkun 告诉我们更多关于 tutorialspoint 的质量,或者说缺乏质量
  • @BuğraCoşkun:转义字符是对符号进行转义的字符。您正在使用一些非常不清楚的术语。如果可用,请使用官方文档。
  • @BuğraCoşkun 在我看来,没有比空间更好、更清晰、更优雅的空间表示了 ;)
  • @WiktorStribiżew 你说得对,我确实使用了一个非常模糊甚至可能是错误的术语,因为我对该主题知之甚少。好吧,问正确的问题是答案的一半。但大多数时候我们不知道我们不知道什么。好像我在这里跑题了 cmets 部分并不打算这样使用,所以我现在就安静下来。谢谢大家。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
相关资源
最近更新 更多