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!