其实如果要去除字符串前后的空格很简单,那就是用strip(),简单方便
>>> ' a bc '.strip()
'a bc'
如果不允许用strip()的方法,也是可以用正则匹配的方法来处理。
>>> s1 = ' a bc'
>>> s2 = 'a bc '
>>> s3 = ' a bc '
>>> s4 = 'a bc'
>>> def trim(s):
... import re
... if s.startswith(' ') or s.endswith(' '):
... return re.sub(r"^(\s )|(\s )$", "", s)
... return s
>>> trim(s1)
'a bc'
>>> trim(s2)
'a bc'
>>> trim(s3)
'a bc'
>>> trim(s4)
'a bc'
如果也不用正则匹配的话,还可以借助递归函数来去除前后的空格。
>>> s1 = ' a bc'
>>> s2 = 'a bc '
>>> s3 = ' a bc '
>>> s4 = 'a bc'
>>> def trim(s):
... if s[0] == " ":
... return trim(s[1:]) # 如果开首有多个空格的话,递归去除多个空格
... elif s[-1] == " ":
... return trim(s[:-1]) # 如果末尾有多个空格的话,递归去除多个空格
... else:
... return s
>>> trim(s1)
'a bc'
>>> trim(s2)
'a bc'
>>> trim(s3)
'a bc'
>>> trim(s4)
'a bc'