在Python中修剪一个string
如何从Python中的string中删除前导空格和尾部空格?
例如:
" Hello " --> "Hello" " Hello" --> "Hello" "Hello " --> "Hello" "Bob has a cat" --> "Bob has a cat"
只有一个空间,或所有这样的空间? 如果第二个string已经有一个.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,\ f,空格。
为了更灵活地使用以下内容
- 删除只有前导空白字符:
myString.lstrip()
- 只删除尾部的空白字符:
myString.rstrip()
- 删除特定的空白字符:
myString.strip('\n')
或myString.lstrip('\n\r')
或myString.rstrip('\n\t')
等等。
更多细节可在文档中find
strip
不限于空白字符:
# remove all leading/trailing commas, periods and hyphens title = title.strip(',.-')
myString.strip()
你想strip():
myphrases = [ " Hello ", " Hello", "Hello ", "Bob has a cat" ] for phrase in myphrases: print phrase.strip()