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