python字符串截取操作

????由于開發(fā)需要,大部分時間都是用java來實現(xiàn)需求的,但是由于對python的喜愛,豈是這種程度的事情所能阻止的,因此在閑余之際,還是想要用python來搞一些事情的,閑話就到此為止。
????在最近的需求中,我需要對IP地址進行處理獲取網(wǎng)絡號和主機號(默認C類IP地址)。
????python中對字符串進行操作可以有正則表達式和切片可供使用,對應java中的是正則表達式和substring。

代碼1:
>ip = "192.168.0.1"

首先是截取網(wǎng)絡號,正則代碼如下:

代碼2:
>networkNum = re.match(r"(\d+\.){2}(\d+)",ip).group()


切片代碼:

代碼3:
>networkNum = ip[0:ip.rindex('.')]

獲取主機號,正則代碼:

代碼4:
>strinfo = re.compile(r"(\d+\.){3}")
>hostNum = strinfo.sub('',ip)
>or:
>hostNum = re.sub(r"(\d+\.){3}","",ip)

????當然用正則表達式獲取主機號還有replace方法,但是到寫這篇博客的時候我還沒研究出如何用replace來獲取主機號。

切片代碼:

代碼5:
> hostNum = ip[ip.rindex('.')+1:]

????從上邊的代碼中已經(jīng)看出切片在截取字符串上的強大了,完全一句話就可以搞定,但是其中確實有一些坑存在的。
????首先:在代碼5中,需要獲取IP最后一段的值,在最開始我寫的是:

> hostNum = ip[ip.rindex('.')+1:-1]

????這樣的結(jié)果是我沒有獲取到主機號,再仔細研究一下切片后發(fā)現(xiàn)切片所適用的數(shù)學表達式是 “[ )”,也就是前邊的包含的,而后邊是不包含的(自幼數(shù)學不好,不知道該怎么用專業(yè)的方法表述),這個錯誤可是非常低級,但卻又是非常致命的,畢竟 這東西是不會報錯的!不會報錯的!不會報錯的!所以在日常使用中選好方法,做好備注!做好備注!做好備注!,當然這只是在提醒我自己,畢竟我才是小菜雞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,950評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • 連續(xù)幾天的陰雨在昨晚結(jié)束,親切的太陽公公用他亮眼的光芒迎來了六月的第一個節(jié)日。 余力無精打采地整理著衣服,...
    星談漫讀閱讀 289評論 0 1
  • 2002年10月7號,承載著新的夢想,我們跨入神圣的大學校園,30位來自五湖四海的同學因此結(jié)緣,2007年7月我們...
    牛仔之家閱讀 2,609評論 0 1
  • 早上一大早去領(lǐng)新身份證,我看著那已入不惑年的老爸因為怕我錯過火車,而客氣的同前面人解釋:師傅,娃要上學趕火車呢,能...
    一個叫席暖的姑娘閱讀 324評論 0 0

友情鏈接更多精彩內(nèi)容