时间:2020-11-01 14:40:40 | 栏目:Python代码 | 点击:次
其实如果要去除字符串前后的空格很简单,那就是用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'
总结