Recipe 1.5. Trimming Space from the Ends of a String
Recipe 1.5. 去除字符串末尾的空格
Credit: Luther Blissett
問題
用戶輸入的字符串中,頭尾可能帶有空格,而您在處理字符串時,並不需要這些空格。
解法
字符串對象的 lstrip, rstrip, strip 方法正是爲解決此問題而設。每個方法都可不接收參數,返回的是去掉了頭尾空格的字符串:
>>> x = ' hej '
>>> print '|', x.lstrip( ), '|', x.rstrip( ), '|', x.strip( ), '|'
| hej | hej | hej |
討論
如 Recipe 1.4 所展示,您可能會須要在字符串兩端填入空格,以便讓字符串在一塊顯示區域內實現居左、居右、居中對齊;同樣,您也可能須要去除字符串兩端的空格(空格符、Tabs、新行符,等等)。由於這種需求常有發生,因此 Python 字符串對象的諸多方法當中,有三個方法專爲實現此功能而設。除了去除兩端的空格之外,三個方法都有一個可選的參數,用來指定所有您希望從字符串兩端去除的字符:
>>> x = 'xyxxyy hejyx yyx'
>>> print '|'+x.strip('xy')+'|' # 譯註: 此處使用 x.strip('yx') 效果相同
| hejyx |
注意上例,字符串中的空格被留了下來,被空格所包圍的 'yx' 也被保留:只有字符串兩端的 'x' 和 'y' 被去除掉了。
請參見
Library Reference 關於字符串方法的章節;本書 Recipe 1.4;Java Cookbook recipe 3.12 。