摘要:上一篇文章實用技法第篇用正則表達式處理字符下一篇文章實用技法第篇文本過濾和清理問題我們想在字符串的開始結尾或中間去掉不需要的字符,比如說空格符。解決方案方法可用來從字符串的開始和結尾處去掉字符。
上一篇文章: Python實用技法第29篇:用正則表達式處理Unicode字符問題
下一篇文章:Python實用技法第31篇:文本過濾和清理
我們想在字符串的開始、結尾或中間去掉不需要的字符,比如說空格符。
解決方案strip()方法可用來從字符串的開始和結尾處去掉字符。lstrip()和rstrip()可分別從左或從右側開始執行去除字符的操作。默認情況下這些方法去除的是空格符,但也可以指定其他的字符。例如:
>>> # Whitespace stripping >>> s = " hello world " >>> s.strip() "hello world" >>> s.lstrip() "hello world " >>> s.rstrip() " hello world" >>> >>> # Character stripping >>> t = "-----hello=====" >>> t.lstrip("-") "hello=====" >>> t.strip("-=") "hello"討論
當我們讀取并整理數據以待稍后的處理時常常會用到這類strip()方法。例如,可以用它們來去掉空格、移除引號等。
需要注意的是,去除字符的操作并不會對位于字符串中間的任何文本起作用。例如:
>>> s = " hello world " >>> s = s.strip() >>> s "hello world" >>>
如果要對里面的空格執行某些操作,應該使用其他技巧,比如使用replace()方法或正則表達式替換。例如:
>>> s.replace(" ", "") "helloworld" >>> import re >>> re.sub("s+", " ", s) "hello world" >>>
我們通常會遇到的情況是將去除字符的操作同某些迭代操作結合起來,比如說從文件中讀取文本行。如果是這樣的話,那就到了生成器表達式大顯身手的時候了。例如:
with open(filename) as f: lines = (line.strip() for line in f) for line in lines: ...
這里,表達式lines = (line.strip() for line in f)的作用是完成數據的轉換[1]。它很高效,因為這里并沒有先將數據讀取到任何形式的臨時列表中。它只是創建一個迭代器,在所有產生出的文本行上都會執行strip操作。
對于更高級的strip操作,應該轉而使用translate()方法。請參見下一節以獲得進一步的細節。
上一篇文章: Python實用技法第29篇:用正則表達式處理Unicode字符
下一篇文章:Python實用技法第31篇:文本過濾和清理
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44127.html
摘要:上一篇文章實用技法第篇從字符串中去掉不需要的字符下一篇文章實用技法第篇對齊文本字符串問題某些無聊的腳本小子在頁面表單中填入了這樣的文本,我們想以某種方式將其清理掉。討論文本過濾和清理的一個主要問題就是運行時的性能。 上一篇文章:Python實用技法第30篇:從字符串中去掉不需要的字符下一篇文章:Python實用技法第32篇:對齊文本字符串 問題 某些無聊的腳本小子在Web頁面表單中...
摘要:上一篇文章實用技法第篇將文本統一表示為規范形式下一篇文章實用技法第篇從字符串中去掉不需要的字符需求 上一篇文章:Python實用技法第28篇:將Unicode文本統一表示為規范形式下一篇文章: Python實用技法第30篇:從字符串中去掉不需要的字符 1、需求
摘要:解決方案對于基本的字符串對齊要求,可以使用字符串的和方法。例如的好處之一是它并不是特定于字符串的。此外,可作用于任意類型的對象,比字符串的以及方法要更加通用。上一篇文章實用技法第篇文本過濾和清理下一篇文章實用技法第篇字符串連接及合并 上一篇文章:Python實用技法第31篇:文本過濾和清理下一篇文章:Python實用技法第33篇:字符串連接及合并 問題 我們需要以某種對齊方式將文本...
摘要:上一篇文章實用技法第篇對齊文本字符串下一篇文章問題我們想將許多小字符串合并成一個大的字符串。示例如下對于不必要的字符串連接操作也要引起重視。有時候在技術上并非必需的時候,程序員們也會忘乎所以地使用字符串連接操作。 上一篇文章: Python實用技法第32篇:對齊文本字符串下一篇文章: 問題 我們想將許多小字符串合并成一個大的字符串。 解決方案 如果想要合并的字符串在一個序列或可迭代...
摘要:上一篇文章實用技法第篇針對任意多的分隔符拆分字符串下一篇文章實用技法第篇利用通配符做字符串匹配需求 上一篇文章:Python實用技法第20篇:針對任意多的分隔符拆分字符串下一篇文章:Python實用技法第22篇:利用Shell通配符做字符串匹配 1、需求
閱讀 2240·2021-11-23 09:51
閱讀 1073·2021-11-22 15:35
閱讀 4831·2021-11-22 09:34
閱讀 1597·2021-10-08 10:13
閱讀 3018·2021-07-22 17:35
閱讀 2517·2019-08-30 15:56
閱讀 3079·2019-08-29 18:44
閱讀 3089·2019-08-29 15:32