协慌网

登录 贡献 社区

如何从 Python 字符串中修剪空格?

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

例如:

" Hello " --> "Hello"
" Hello"  --> "Hello"
"Hello "  --> "Hello"
"Bob has a cat" --> "Bob has a cat"

答案

只有一个空间,还是所有这样的空间?如果是第二个,那么字符串已经有了.strip()方法:

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

如果您只需要移除一个空格,则可以使用以下方法:

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

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

另请注意, str.strip()删除其他空格字符(例如制表符和换行符)。要仅删除空格,可以指定要删除的字符作为要strip的参数,即:

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

正如上面的答案所指出的那样

myString.strip()

将删除所有前导和尾随空白字符,例如 \ n,\ r,\ t,\ t,\ t \ t,空格。

为了更灵活,请使用以下内容

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

更多详细信息可在文档中找到

strip不限于空格字符:

# remove all leading/trailing commas, periods and hyphens
title = title.strip(',.-')