题目:
写一个函数,它接收一个字符串,做的事情和strip()字符串方法一样。如果只传入了要去除的字符串,没有其他参数,那么就从字符串的首尾去除空白字符;否则,函数第二个参数指定的字符将从该字符串中删除。
思路:
①传参有两个。
②分隔空白、其他字符。要考虑正则中的特殊意义符号。’+*.[]{}?()'
import re
def strStrip(inputStr, sep=' '):
if sep == ' ':
# 去除首尾空白字符
return re.sub(r'^\s+|\s+$', '', inputStr)
else:
# 根据指定的字符删除字符串
pattern = '['+re.escape(sep)+']+' #re.escape(sep)将re特殊意义的符号增加转义符
return re.sub(pattern,'',inputStr)
# 测试示例,如'fs+asfag+',分隔符'+'
inputStr = 'fs+asfag+'
result = strStrip(inputStr,'+')
print(result)