你把 strip的用法想的太高级了 所以百思不得其解, 没你想象的那么高级 能删除所以你想删除的字符 其实作用很垃圾
空格就不用多说了 你们都能实现
咱们来说一下 不是空格
例如
s = 'hear the hairh hea'
print(s.strip('h'))
结果输出 是 ear the hairh hea
你可能不信 你看我截屏给你看
为啥呢 这是因为这个strip函数太不负责任了 从左边找 第一个 字母是 h 好 删除 再看第二个字母 好 不是h 左边结束
接着右边找 第一个字母 是a 不是h 直接结束 不管你中间有多少 h strip函数 不管不问
再来看另一个例子
s = 'hear the hairh hea'
print(s.strip('hea'))
结果是啥呢
你可能还是不信 你看我截屏给你看
解释来了 从左边看 第一个字母是h包含在 hea里面 二话不说 删掉
再看 第二个字母 是e 不包含在hea里面 立即停止一切操作 不管后面有多少 h e a 都不管
同理 从右边看 第一个字母是a 包含在hea里面 好 删掉
再看第二个字母是e 包含在hea里面 删掉
同理 直到遇到空格 这个字符不属于 hea里面的任何一个字符 所以停止删除
结尾再来补一下 空格吧 道理都是一样的
s = ' A B C '
print(s.strip())
首先 strip函数 会从两边开始找空格 假设先从左边开始找 第一个是空格 删掉
第二个是空格 删掉
第三个 是A 不是空格 左边停止删除
右边也是同理
不管你中间有几个空格 我不管你 反正我遇到非空格了A 和 C
就结束了
还有另外两种类似的方法lstrip()和rstrip()。第一个是从最左边开始删除直到遇到不符合条件的字符,第二个是从最右边开始删除直到遇到不符合条件的字符 用法类似。就不讲了。