摘要:上一篇文章實(shí)用技法第篇用正則表達(dá)式處理字符下一篇文章實(shí)用技法第篇文本過(guò)濾和清理問(wèn)題我們想在字符串的開(kāi)始結(jié)尾或中間去掉不需要的字符,比如說(shuō)空格符。解決方案方法可用來(lái)從字符串的開(kāi)始和結(jié)尾處去掉字符。
上一篇文章: Python實(shí)用技法第29篇:用正則表達(dá)式處理Unicode字符問(wèn)題
下一篇文章:Python實(shí)用技法第31篇:文本過(guò)濾和清理
我們想在字符串的開(kāi)始、結(jié)尾或中間去掉不需要的字符,比如說(shuō)空格符。
解決方案strip()方法可用來(lái)從字符串的開(kāi)始和結(jié)尾處去掉字符。lstrip()和rstrip()可分別從左或從右側(cè)開(kāi)始執(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()方法。例如,可以用它們來(lái)去掉空格、移除引號(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é)合起來(lái),比如說(shuō)從文件中讀取文本行。如果是這樣的話,那就到了生成器表達(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)檫@里并沒(méi)有先將數(shù)據(jù)讀取到任何形式的臨時(shí)列表中。它只是創(chuàng)建一個(gè)迭代器,在所有產(chǎn)生出的文本行上都會(huì)執(zhí)行strip操作。
對(duì)于更高級(jí)的strip操作,應(yīng)該轉(zhuǎn)而使用translate()方法。請(qǐng)參見(jiàn)下一節(jié)以獲得進(jìn)一步的細(xì)節(jié)。
上一篇文章: Python實(shí)用技法第29篇:用正則表達(dá)式處理Unicode字符
下一篇文章:Python實(shí)用技法第31篇:文本過(guò)濾和清理
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/44127.html
摘要:上一篇文章實(shí)用技法第篇從字符串中去掉不需要的字符下一篇文章實(shí)用技法第篇對(duì)齊文本字符串問(wèn)題某些無(wú)聊的腳本小子在頁(yè)面表單中填入了這樣的文本,我們想以某種方式將其清理掉。討論文本過(guò)濾和清理的一個(gè)主要問(wèn)題就是運(yùn)行時(shí)的性能。 上一篇文章:Python實(shí)用技法第30篇:從字符串中去掉不需要的字符下一篇文章:Python實(shí)用技法第32篇:對(duì)齊文本字符串 問(wèn)題 某些無(wú)聊的腳本小子在Web頁(yè)面表單中...
摘要:上一篇文章實(shí)用技法第篇將文本統(tǒng)一表示為規(guī)范形式下一篇文章實(shí)用技法第篇從字符串中去掉不需要的字符需求 上一篇文章:Python實(shí)用技法第28篇:將Unicode文本統(tǒng)一表示為規(guī)范形式下一篇文章: Python實(shí)用技法第30篇:從字符串中去掉不需要的字符 1、需求
摘要:解決方案對(duì)于基本的字符串對(duì)齊要求,可以使用字符串的和方法。例如的好處之一是它并不是特定于字符串的。此外,可作用于任意類型的對(duì)象,比字符串的以及方法要更加通用。上一篇文章實(shí)用技法第篇文本過(guò)濾和清理下一篇文章實(shí)用技法第篇字符串連接及合并 上一篇文章:Python實(shí)用技法第31篇:文本過(guò)濾和清理下一篇文章:Python實(shí)用技法第33篇:字符串連接及合并 問(wèn)題 我們需要以某種對(duì)齊方式將文本...
摘要:上一篇文章實(shí)用技法第篇對(duì)齊文本字符串下一篇文章問(wèn)題我們想將許多小字符串合并成一個(gè)大的字符串。示例如下對(duì)于不必要的字符串連接操作也要引起重視。有時(shí)候在技術(shù)上并非必需的時(shí)候,程序員們也會(huì)忘乎所以地使用字符串連接操作。 上一篇文章: Python實(shí)用技法第32篇:對(duì)齊文本字符串下一篇文章: 問(wèn)題 我們想將許多小字符串合并成一個(gè)大的字符串。 解決方案 如果想要合并的字符串在一個(gè)序列或可迭代...
摘要:上一篇文章實(shí)用技法第篇針對(duì)任意多的分隔符拆分字符串下一篇文章實(shí)用技法第篇利用通配符做字符串匹配需求 上一篇文章:Python實(shí)用技法第20篇:針對(duì)任意多的分隔符拆分字符串下一篇文章:Python實(shí)用技法第22篇:利用Shell通配符做字符串匹配 1、需求
閱讀 2250·2021-11-23 09:51
閱讀 1080·2021-11-22 15:35
閱讀 4866·2021-11-22 09:34
閱讀 1610·2021-10-08 10:13
閱讀 3025·2021-07-22 17:35
閱讀 2546·2019-08-30 15:56
閱讀 3088·2019-08-29 18:44
閱讀 3099·2019-08-29 15:32