用 strip(), lstrip(), rstrip()删除空白字符:
一、strip()
strip([chars]): 用来删除字符串中前后的空白字符,若不指定,则默认删除空白字符和制表符(\t)、换行符(\n)、回车(\r)。
1. 不指定字符
s = ' Hello '
print(s)
print(s.strip())
print(len(s))
print(len(s.strip()))
输出:
' Hello '
'Hello'
7
5
2. 指定字符
注意:在指定字符时,如果字符串两边都是空格时,再去指定去删除中间部分的字符串时,无法达到执行效果 。
s = ' Hello '
print(s.strip('l'))
>>>' Hello '
s = ' Hello '
print(s.strip(''))
>>>' Hello '
若所要删除的字符串不在字符串首尾,也达不到删除效果(如下)
s = ' Hello '
print(s.strip('o'))
>>> ' Hello '
正确操作:
s = 'I love you '
print(s.strip('I'))
>>> ' love you '
print(len(s))
print(len(s.strip('I')))
>>> 11
>>> 10
此时:删除了指定字符 'I' ,就只删除 'I' ,不删除字符串后面的空格和 'I' 后的空格!!
二、lstrip(), rstrip()
lstrip([chars])和rstrip([chars]) 方法将相应删除左边或右边的空白字符(与strip()类似)
1. 不指定字符
s = ' love you '
print(s.lstrip())
>>> 'love you '
print(len(s))
print(len(s.lstrip()))
>>> 10
>>> 9
只删除左边空白字符
右边同理:
s = ' love you '
print(s.rstrip())
>>> 'love you '
print(len(s))
print(len(s.rstrip()))
>>> 10
>>> 9
2. 指定字符
删除左边字符同理,若空白字符开头,删除其后字符达不到删除效果
s = ' I love you '
print(s.lstrip('I'))
>>> ' I love you '
print(len(s))
print(len(s.lstrip('I')))
>>> 12
>>> 12
正确操作:
s = 'I love you '
print(s.lstrip('I'))
>>> ' love you '
print(len(s))
print(len(s.lstrip('I')))
>>> 11
>>> 10
右边同理:
错误示范:
s = 'I love you ! '
print(s.rstrip('!'))
>>> 'I love you ! '
print(len(s))
print(len(s.rstrip('!')))
>>> 13
>>> 13
正确操作:
s = 'I love you !'
print(s.rstrip('!'))
>>> 'I love you '
print(len(s))
print(len(s.rstrip('!')))
>>> 12
>>> 11
三、易错警示:
两边有空白字符,不可指定删除中间指定字符。