strip函数能只删除左右两端的一个字符吗
如果不行怎么做
现在的思路有转成列表在条件判断,感觉有些复杂 感谢大家帮助
【有帮助请采纳】
strip是字符串对象的一个方法,在没有参数的情况下可以删去字符串两端所有的空白字符(包括空格、换行符、制表符等等一些我们“看不见”的字符)【所以不是一个字符哦】
如果只想删去字符串右边所有的空白字符,可以用rstrip()(rightstrip的缩写),左边就是lstrip()(leftstrip的缩写)
如果想只删去一个字符,可以分情况讨论:
(1)删去两端的连续个字符
【假设字符串是变量s】【采用切片方法最佳】
删除右端5个字符(不要求是空白字符):s = s[:-5]
删除左端3个字符(不要求是空白字符):s = s[3:]
同时删除左端3个和右端5个字符(不要求是空白字符):s = s[3:-5]
(2)删去中间的某个字符(串)的所有匹配
【假设要删去的字符是"123"】【采用替换的方法】
s = s.replace("123","")
【字符串中所有的"123"都会被替换成空字符】
(3)删除中间特定区间的字符串
【假设要删除索引4到索引6之间的字符串】
s = s[:4]+s[7:]
【有帮助请采纳】
使用方法很灵活
>>> a=" abcdefg "
>>> a.strip("fg ")
'abcde'
>>> a="hahaabcdefghaha"
>>> a.strip("haha")
'bcdefg'
>>> a="hahabcdabcdhah"
>>> a.lstrip("hah")
'bcdabcdhah'
>>> a.rstrip("hah")
'hahabcdabcd'
>>>