本题是《Python编程快速上手:让繁琐工作自动化(第2版)》上题目,要求写一个函数,它接收一个字符串,做的事情和strip()字符串方法一样。如果只传入了要去除的字符串,没有其他参数,那么就从该字符串的首尾去除空白字符;否则,函数第二个参数指定的字符将从该字符串中去除。
下面是程序
import re
def likestrip(_str,_key=None):
if _key==None:
nameRegex = re.compile(r'\s*(.*)\s*',re.DOTALL)
return nameRegex.sub(r'\1',_str)
#以上部分,若没有第二部分参数,功能类似strip(),去除两头空格
else:
while True:
if _str[0] in _key:
_str=_str[1:]
#以上部分,若开头还有_key中字符,则去除_str首位字符
elif _str[-1] in _key:
_str=_str[:-1]
#以上部分,若末尾还有_key中字符,则去除_str末位字符
else:
return _str