如何从 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(',.-')