如何从字符串中修剪空白?

2024-04-25 12:49:54 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如:

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

Tags: 字符串hellocatbobhas空格前导
3条回答

正如上面的回答所指出的

myString.strip()

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

要获得更大的灵活性,请使用以下命令

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

有关详细信息,请参见docs

strip不限于空白字符:

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

只有一个空格,还是所有连续空格?如果是第二个,则字符串已经有一个.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.strip()还会删除其他空白字符(例如制表符和换行符)。要仅删除空格,可以将要删除的字符指定为strip的参数,即:

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

相关问题 更多 >