最实用的函数:str.strip()
, 不带参数时,将删除字符串str
首尾的一切空白字符,包括空格,\t
, \r
, \n
。
str.lstrip([chars])
返回一个移除了起始字符的字符串的副本。参数chars
是一个指定要移除字符集合的字符串。如果省略或为 None
,默认移除空白字符。chars
参数不是一个前缀,它的值的所有组合都将删除 :
>>> ' spacious '.lstrip()
'spacious '
>>> 'www.example.com'.lstrip('cmowz.')
'example.com'
以第二个例子为例: 从字符串左端开始,第1个字符w
删除,第2个,第3个也是,第4个.
同样在集合cmowz.
里,所以删除,但第5个字符e
不是,保留,至此,lstrip
操作结束。
str.rstrip([chars])
返回一个移除了结尾字符的字符串的副本。参数chars
是一个指定要移除字符集合的字符串。如果省略或为 None
,默认移除空白字符。chars
参数不是一个后缀,它的值的所有组合都将删除:
>>> ' spacious '.rstrip()
' spacious'
>>> 'mississippi'.rstrip('ipz')
'mississ'
str.strip([chars])
返回一个移除了起始和结尾字符的字符串的副本。参数chars
是一个指定要移除字符集合的字符串。如果省略或为 None
,默认移除空白字符。chars
参数不是一个前缀或后缀,它的值的所有组合都将删除:
>>> ' spacious '.strip()
'spacious'
>>> 'www.example.com'.strip('cmowz.')
'example'
.strip()
如果没有参数, (或者第一个参数是None
) ,将移除起始和结束的全部空白,包括空格,\t
, \n
, \r
.
" foo\tbar \n".strip()
和 "foo\tbar\n".strip()
结果相同,都是:foo\tbar
另一个例子:
>>> url = 'abcdc.com'
>>> print(url.strip('.com'))
abcd
>>>
含义简单一点说,就是从字符的一端开始读字符,如果属于参数里的一个,就删除,失败就停止。字符串两端都是同样操作。
lstrip
, rstrip
, strip
三个函数都相似,第一个处理字符串左端,第二个右端,第三个两端。原字符串保持不变,返回的只是副本。实际使用这些函数时要使用类似于下面的写法:
my_str = my_str.strip()
[1] https://stackoverflow.com/questions/13013734/string-strip-in-python
[2] python documentation: String Methods