python中往往使用剥除函数strip()来对用户的输入进行清理。strip函数的最一般形式为:
str.strip('序列‘)
其中,序列是一段字符串,该函数表示从头或者从尾部开始进行扫描,如果扫描的字符在序列字符串中,则剔除掉,一直到遇到一个不在序列字符串中的字符为止。
延伸的函数:
str.lstrip('序列'),则表示仅从头部第一个字符开始扫描,如果扫描的字符在序列字符串中,则剔除掉,直到遇到一个不在序列字符串中的字符为止。
str.rstrip('序列'),则表示仅从尾部第一个字符开始扫描,如果扫描的字符在序列字符串中,则剔除掉,直到遇到一个不在序列字符串中的字符为止。
特别的情况,如果函数圆括号里面的序列字符串为空,则默认为剔除首尾部的空白(包括空格、制表符),即strip()、lstrip()、rstrip().
举例说明一下:
变量a初始为'abc bingo abc',第一次处理从头和从尾同时扫描,遇到a,b,c字符就剔除,得出结果' bingo '。
第二次处理,注意此次strip函数参数不仅有a,b,c还有一个空格符,所以从头部的扫描会一直剔除到i为止,而尾部的扫描到空格就停住了。
第三次,仅从头部开始扫描,遇到b就停止了。
第四次,仅从尾部开始扫描,遇到a就停止了。
注意区分strip()和strip(' ')和strip(''):
前两个函数效果是一样的,都表示遇到剔除头尾的空白部分。第三个是strip('序列’)函数序列为空时的特殊情况,这种情况下不对字符串做任何处理(因为没有扫描的对比字符)。
over!