-
strip:删除字符串两侧的指定字符
-
rstrip:删除字符串右侧的制定字符
-
lstrip:删除字符串左侧的指定字符
-
# strip 去重字符串左右两侧指定字符
# strip中如果不传参数,则去除字符串左右两侧的空白(包括空格,换行,制表位等)
str1 = ' hello python\t \n ' print(str1.strip())
# 格式:字符串.strip(self(不传值), chars(可以传一个字符或多个字符))
str2 = '$$$hello Python$$$' print(str2.strip('$'))
# 删除多个指定字符
str3 = '13214123123hello Python12314123123123' print(str3.strip('12')) # 314123123hello Python12314123123123 print(str3.strip('123')) # 4123123hello Python12314 print(str3.strip('4231')) # hello Python
注释详解:(这里不好理解:
比如第一个:可以理解从左往右看字符串里面有没有1 2 只要出现不为1 2 就停止所以第一个到3就停止了,然后在从最后面从右往左查找因为第一是3所以直接就停止了。所以最后呈现出的效果就如下所示
第二个:跟上一个类似我们也是先从左往右1 2 3 依次判断在不在里面只要出现不为1 2 3其中一个的就停止 所以到4 就停止了,然后最后从右往左开始查找同理到 4 也停止了所以最终呈现结果如下所示
第三个:传入多个字符的时候记住和顺序无关,所以一次查找跟上面类型 最终呈现出:hello Python)
# 结论:如果在strip中填写多个字符,等号左右两侧出现的字符如果在传入的字符串中,则删除,否则保留
# 传入多个字符时,和传入的顺序没有任何关系,只要是传入的字符就不能出现在指定字符串左右两侧,直到出现不属于其内容的字符删除结束
# rstrip 删除字符串右侧指定的字符
str3 = '13214123123hello Python12314123123123' print(str3.rstrip('1234'))
# lstrip 删除字符串左侧指定的字符
str3 = '13214123123hello Python12314123123123' print(str3.lstrip('1234'))
# TypeError: lstrip arg must be None or str
# strip, lstrip, rstrip 只能接收str类型参数或者None
str3 = '13214123123hello Python12314123123123' print(str3.lstrip(1234))