国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Python實(shí)現(xiàn)像awk一樣分割字符串

瀏覽:4日期:2022-07-11 10:52:37

若你使用過 Shell 中的 awk 工具,會(huì)發(fā)現(xiàn)用它來分割字符串是非常方便的。特別是多個(gè)連續(xù)空格會(huì)被當(dāng)做一個(gè)處理。

[root@localhost ~]# cat demo.txt hello world [root@localhost ~]# [root@localhost ~]# awk ’{print$1,$2}’ demo.txt hello world

可是轉(zhuǎn)換到 Python 上面來呢?結(jié)果可能是這樣的。

>>> msg=’hello world’ >>> msg.split(’ ’) [’hello’, ’’, ’’, ’’, ’world’]

與我預(yù)想的結(jié)果不符,多個(gè)空格會(huì)被分割多次。

那有什么辦法可以達(dá)到 awk 一樣的效果呢?

有兩種方法。

第一種方法

不加參數(shù),這種只適用于將多個(gè)空格當(dāng)成一個(gè)空格處理,如果不是以空格為分隔符的場景,這種就不適用了。

>>> msg=’hello world’ >>> msg.split() [’hello’, ’world’]

第二種方法

使用 filter 來輔助,這種適用于所有的分隔符,下面以 - 為分隔符來舉例。

>>> msg=’hello----world’ >>> msg.split(’-’) [’hello’, ’’, ’’, ’’, ’world’] >>> >>> filter(None, msg.split(’-’)) [’hello’, ’world’]

是不是很神奇,filter 印象中第一個(gè)參數(shù)接收的是 函數(shù),這里直接傳 None 居然有奇效。

查看了注釋,原來是這個(gè)函數(shù)會(huì)適配 None 的情況,當(dāng)?shù)谝粋€(gè)參數(shù)是None的時(shí)候,返回第二個(gè)參數(shù)(可迭代對(duì)象)中非空的值,非常方便。

Python實(shí)現(xiàn)像awk一樣分割字符串

換用函數(shù)的寫法,可以這樣

>>> msg=’hello----world’ >>> msg.split(’-’) [’hello’, ’’, ’’, ’’, ’world’] >>> >>> filter(lambda item: True if item else False, msg.split(’-’)) [’hello’, ’world’]

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 久草综合在线观看 | 久草视频在线观 | 亚洲 欧美 激情 另类 校园 | 国产在线拍揄自揄视精品不卡 | 欧美在线一级va免费观看 | 久久国产成人午夜aⅴ影院 久久国产成人亚洲精品影院老金 | 狠狠色综合久久丁香婷婷 | 老司机精品影院一区二区三区 | 日本a级片免费看 | 久久精品国产精品亚洲艾 | 亚洲国产一区二区三区四区 | 免费在线观看一区二区 | 久久视频一区 | 激情欧美一区二区三区 | 永久免费精品视频 | 正在播放国产乱子伦视频 | 欧美成人免费全部观看天天性色 | 天天看a| 精品小视频在线观看 | 亚洲日本在线观看视频 | 456主播喷水在线观看 | 日韩欧美在线一级一中文字暮 | 色毛片 | 不卡午夜视频 | 亚洲精品影院一区二区 | 久久久久久极精品久久久 | 成人久久影院 | 亚洲国产中文字幕 | 手机看片1024久久精品你懂的 | 66精品| 久久久久亚洲精品中文字幕 | 精品国产高清毛片 | 成人9久久国产精品品 | 久久一本精品久久精品66 | 三级三级三级全黄 | 7777在线视频 | 欧美手机在线 | 91成人免费观看网站 | 日韩欧美高清在线 | 亚洲图片 自拍偷拍 | 亚洲日韩视频免费观看 |