日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

《Python Cookbook 3rd》笔记(2.11):删除字符串中不需要的字符

發(fā)布時(shí)間:2023/12/13 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Python Cookbook 3rd》笔记(2.11):删除字符串中不需要的字符 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

刪除字符串中不需要的字符

問題

你想去掉文本字符串開頭,結(jié)尾或者中間不想要的字符,比如空白

解法

strip() 方法能用于刪除開始或結(jié)尾的字符。 lstrip() 和 rstrip() 分別從左和從右執(zhí)行刪除操作。默認(rèn)情況下,這些方法會(huì)去除空白字符,但是你也可以指定其他字符。比如:

>>> # Whitespace stripping >>> s = ' hello world \n' >>> s.strip() 'hello world' >>> s.lstrip() 'hello world \n' >>> s.rstrip() ' hello world' >>> >>> # Character stripping >>> t = '-----hello=====' >>> t.lstrip('-') 'hello=====' >>> t.strip('-=') 'hello' >>>

討論

這些 strip() 方法在讀取和清理數(shù)據(jù)以備后續(xù)處理的時(shí)候是經(jīng)常會(huì)被用到的。比如,你可以用它們來(lái)去掉空格,引號(hào)和完成其他任務(wù)。

但是需要注意的是去除操作不會(huì)對(duì)字符串的中間的文本產(chǎn)生任何影響。比如:

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

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

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

通常情況下你想將字符串 strip 操作和其他迭代操作相結(jié)合,比如從文件中讀取多行數(shù)據(jù)。如果是這樣的話,那么生成器表達(dá)式就可以大顯身手了。比如:

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

在這里,表達(dá)式 lines = (line.strip() for line in f) 執(zhí)行數(shù)據(jù)轉(zhuǎn)換操作。這種方式非常高效,因?yàn)樗恍枰A(yù)先讀取所有數(shù)據(jù)放到一個(gè)臨時(shí)的列表中去。它僅僅只是創(chuàng)建一個(gè)生成器,并且每次返回行之前會(huì)先執(zhí)行 strip 操作。

對(duì)于更高階的 strip,你可能需要使用 translate() 方法。

總結(jié)

以上是生活随笔為你收集整理的《Python Cookbook 3rd》笔记(2.11):删除字符串中不需要的字符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。