0
点赞
收藏
分享

微信扫一扫

Python 字符串处理函数—strip使用探究

Python 字符串处理函数—strip使用探究

1.菜鸟教程对strip的描述
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
2.官方源码给出的描述:
Return a copy of the sequence with specified leading and trailing bytes removed.
3.strip()函数语法

Str.strip([chars])

例如:

>>>hash.strip(‘abcd’)

从以上描述中可以发现几个关键字:“头尾”、“trailing”、“中间”,这些描述是不严谨的,实际使用中也有困惑:
疑惑1:头尾和中间界限在哪里?
疑惑2:可不可以用来删除所有字符?
疑惑3:这个函数对于字符串修改是对原字符串直接修改还是返回副本?

为了解开上述疑惑,请看以下示例:
示例1:

>>> a='aaaaaa'
>>> a.strip('a')
输出结果:''

示例2:

>>> a='aaaaa1aa'
>>> a.strip('a')
输出结果:'1'

示例3:

>>> a='aaa1aa1a'
>>> a.strip('a')
输出结果:'1aa1'

示例4:

>>> a='    \nabdc 	'
>>> a.strip()
输出结果:'abdc'

示例分析:

示例1说明strip函数参数**char中包含了所有待处理字符串的所有字符,不会区分头尾、中间,**实际结果是删除该字符串并的返回为空。

示例2、3结合说明从字符串两端往中间,第一个出现的不在参数char中字符即为中间和头尾的边界,中间部分即使包含char中的字符也不会被删除。

示例4说明char参数为空时,strip函数默认删除头尾的换行符、空格、制表符(tab)。

疑惑3的官方的描述里给出了答案,copy即是副本,不会直接修改原字符串,所以使用时候注意保存处理结果。

综上,所有疑惑均已得到解决,希望能帮助到您,若有其他问题欢迎评论一起探讨,感谢。

举报

相关推荐

0 条评论