如何从字符串中删除空格?

新手上路,请多包涵

如何从 Python 中的字符串中删除前导和尾随空格?

 " Hello world " --> "Hello world"
" Hello world"  --> "Hello world"
"Hello world "  --> "Hello world"
"Hello world"   --> "Hello world"

原文由 robert 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 472
2 个回答

要删除字符串周围的所有空格,请使用 .strip() 。例子:

 >>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> '   Hello   '.strip()  # ALL consecutive spaces at both ends removed
'Hello'

请注意, str.strip() 删除了所有空白字符,包括制表符和换行符。要仅删除空格,请指定要删除的特定字符作为 strip 的参数:

 >>> "  Hello\n  ".strip(" ")
'Hello\n'


最多只删除一个空格:

 def strip_one_space(s):
    if s.endswith(" "): s = s[:-1]
    if s.startswith(" "): s = s[1:]
    return s

>>> strip_one_space("   Hello ")
'  Hello'

原文由 Brian 发布,翻译遵循 CC BY-SA 4.0 许可协议

正如上面的答案所指出的

my_string.strip()

will remove all the leading and trailing whitespace characters such as \n , \r , \t , \f , space 。

为了更灵活地使用以下

  • 仅删除 前导 空白字符: my_string.lstrip()
  • 仅删除 尾随 空白字符: my_string.rstrip()
  • 删除 特定的 空白字符: my_string.strip('\n')my_string.lstrip('\n\r')my_string.rstrip('\n\t') 等等。

文档 中提供了更多详细信息。

原文由 Mudit Jain 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题