python 中的strip函数是去除 字符串首尾包含给定的字符组中的字符。
打个比方说:
s = '1231251243534123332123'
print(s.strip('123'))
# 输出
51243534
就是将首尾中包含1,2,3这三个字符,全部删除。
我开始想通过strip得到:
1251243534123332
后来知道是我想多了。
如果想得到我们想要的效果,其实,不难,可以自己实现。
def strip_str(str1, str2):
str1_ = str1
len_str1 = len(str1_)
len_str2 = len(str2)
while len_str1 >= len_str2 and str1_[:len_str2] == str2:
str1_ = str1_[len_str2:]
len_str1 = len(str1_)
while len_str1 >= len_str2 and str1_[len_str1-len_str2:] == str2:
str1_ = str1_[:len_str1-len_str2]
len_str1 = len(str1_)
return str1_
if __name__ == "__main__":
s1 = '1231251243534123332123'
s2 = '123'
print(strip_str(s1, s2))
当然这个系列的rstrip和lstrip也是这个道理。