python strip() 函数探究
strip()方法语法:str.strip([chars]);
声明:str为字符串,rm为要删除的字符序列
- str.strip(rm) 删除字符串中开头、结尾处,位于rm删除序列的字符
eg1:
#首尾端'0'被删除,中间不动
>>> t='0000this is string example0000wow!!!0000'
>>> t.strip('0')
'this is string example0000wow!!!'
eg2:
#无入参,默认删除首尾所有空字符 ‘\n\t空格‘
>>>s='\n 0000this is string example0000wow!!!0000\n \t'
>>> s.strip()
'0000this is string example0000wow!!!0000'
- str.lstrip(rm) 删除字符串中开头处,位于 rm删除序列的字符
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
t='0000this is string example0000wow!!!0000'
>>> t.lstrip('0')
'this is string example0000wow!!!0000'
#空入参同样可删除首部空字符,'.rstrip()'同理
s='\n 0000this is string example0000wow!!!0000\n \t'
>>> s.lstrip()
'0000this is string example0000wow!!!0000\n \t'
- str.rstrip(rm) 删除字符串中结尾处,位于 rm删除序列的字符
t='0000this is string example0000wow!!!0000'
>>> t.rstrip('0')
'0000this is string example0000wow!!!'
s='\n 0000this is string example0000wow!!!0000\n \t'
>>> s.rstrip()
'\n 0000this is string example0000wow!!!0000'
究竟何为’首尾’?实验之
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
s='\n 0000this is string is example0000wow!!!0000\n \t'
>>> s.lstrip('\n 0')
'this is string is example0000wow!!!0000\n \t'
#首部'\n 0000'被删除
>>> s.lstrip('\n 0this')
'ring is example0000wow!!!0000\n \t'
奇妙啊,我的目标是删除首部’\n 0000this’,结果’\n 0000this is st’全被删除,说明:符合入参(’\n 0this’)的字符皆是删除对象,不论字符顺序
但,为何string后面的is没有删除?因为,'首部’指的是’连续符合’入参要求的字符,string中的’r’隔断了入参的连续字符要求,python判定首部结束。
实验证明:
所谓的首、尾,判定依据是-是否连续符合入参要求,如果符合,不论顺序,皆可操作,一直到遇到第一个非入参字符为止.