1. 程式人生 > >去掉字串開頭,結尾或者中間的空格及其他不想要的字元

去掉字串開頭,結尾或者中間的空格及其他不想要的字元

討論

這些 strip() 方法在讀取和清理資料以備後續處理的時候是經常會被用到的。 比如,你可以用它們來去掉空格,引號和完成其他任務。

但是需要注意的是去除操作不會對字串的中間的文字產生任何影響。比如:

>>> s = ' hello     world \n'
>>> s = s.strip()
>>> s
'hello     world'
>>>

如果你想處理中間的空格,那麼你需要求助其他技術。比如使用 replace() 方法或者是用正則表示式替換。示例如下:

>>> s.replace
(' ', '') 'helloworld' >>> import re >>> re.sub('\s+', ' ', s) 'hello world' >>>

通常情況下你想將字串 strip 操作和其他迭代操作相結合,比如從檔案中讀取多行資料。 如果是這樣的話,那麼生成器表示式就可以大顯身手了。比如:

with open(filename) as f:
    lines = (line.strip() for line in f)
    for line in lines:
        print(line)

在這裡,表示式 lines

 = (line.strip() for line in f) 執行資料轉換操作。 這種方式非常高效,因為它不需要預先讀取所有資料放到一個臨時的列表中去。 它僅僅只是建立一個生成器,並且每次返回行之前會先執行strip操作。

對於更高階的strip,你可能需要使用 translate() 方法。請參閱下一節瞭解更多關於字串清理的內容。