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

  • 问题:
  • 在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 consecutive spaces at both 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.str.带()也删除其他空白字符(例如制表符和换行符)。要只删除空格,可以将要删除的字符指定为strip的参数,即:

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