关于python中strip方法的理解

Posted 早上吃什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python中strip方法的理解相关的知识,希望对你有一定的参考价值。

 

1.strip方法并不是去除对称字符串的。

比如

a="123abcd321"

a.strip()方法的结果是abcd

有人可能就把strip方法理解成了“可以去除字符串两端对称字符”的一种方法。这么理解是错误的。

2.strip方法既可以去除字符串左侧的字符也可以去除字符串右侧的字符,也可以两端同时去除。

a="123abcd"

a.strip(“123”)的结果是abcd

b="abcd123"

b.strip("123")的结果是abcd

strip方法的结果其实是先执行lstrip方法再执行rstrip方法,为了语义清楚,你如果要去除字符串右侧的字符,最好用rstip,左侧的就用lstrip

3.strip方法并不是匹配子串来删除字符串的


如果是匹配子串的,那么就无法解释下面的结果

a="123abcd"

a.strip("1234")的结果是abcd

4.strip方法真正的执行流程是这样的:把strip中的参数拆分成一个个的字符,先执行lstrip方法,从字符串的左侧找起,如果有字符是strip参数中的任意一个字符,那么就从字符串中删除掉这个字符直到找到一个字符,这个字符不属于strip参数中的任意一个字符。再执行strip方法,从字符串的右侧找起,如果有字符是strip参数中的任意一个字符,那么就从字符串中删除掉这个字符直到找到一个字符,这个字符不属于strip参数中的任意一个字符。

b="ccfffoffc_ahfdof.cof"

b.strip(".cof")

这个例子,先执行lstrip的方法的结果是_ahfdof.cof

在_ahfdof.cof的基础上执行rstrip方法

结果是_ahfd

 

最后在网上找到一个题目,对于理解strip方法很有用处

a="movies.csv"

a.strip(".csv")

的结果是什么?

预期的结果是movies

但实际上结果是movie

你能理解了吗?

 

以上是关于关于python中strip方法的理解的主要内容,如果未能解决你的问题,请参考以下文章

Python关于去除字符串中空格的方法

关于Python中的列表理解及用法

关于python list index out of range

python中字符串的操作方法

python中strip()函数的理解

关于mac中配置python的环境变量