python strip() 函数探究

枫铃3年前 (2021-07-10)Python244

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判定首部结束。

实验证明:

所谓的首、尾,判定依据是-是否连续符合入参要求,如果符合,不论顺序,皆可操作,一直到遇到第一个非入参字符为止.

相关文章

使用 ctypes 将 Python 运行速度提升 30 倍

简介 当 Python 面临运算密集型任务时,其速度总是显得力不从心。要提升 Python 代码运行速度有多种方法,如 ctype...

python中的单引号双引号和三引号

python的单引号和双引号没有本质的区别,而三引号有两种作用:注释和换行 一. 单引号中可以包含双引号,双引号中...

python -使用del语句删除对象引用

使用del语句删除一些对象引用。 注意不是把内存地址删了,你只是删除了引用,它就变为了一个可回收的对象,内存会不定...

Python:构造函数和析构函数

python中的特殊方法,其中两个,构造函数和析构函数的作用: 比说“__ init__”这个构造函数࿰...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。