標籤:一個 lambda 正序 article val 運算式 command unp 方便
Python strip() 方法用於移除字串頭尾指定的字元(預設為空白格)。
文法
strip()方法文法:
str.strip([chars]);
參數
傳回值
返回移除字串頭尾指定的字元產生的新字串。
執行個體
以下執行個體展示了strip()函數的使用方法:
#!/usr/bin/pythonstr = "0000000this is string example....wow!!!0000000";print str.strip( ‘0‘ );
以上執行個體輸出結果如下:
this is string example....wow!!!
函數原型
聲明:s為字串,rm為要刪除的字元序列
s.strip(rm) 刪除s字串中開頭、結尾處,位於 rm刪除序列的字元
s.lstrip(rm) 刪除s字串中開頭處,位於 rm刪除序列的字元
s.rstrip(rm) 刪除s字串中結尾處,位於 rm刪除序列的字元
注意:
(1)當rm為空白時,預設刪除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ‘)
(2)這裡的rm刪除序列是只要邊(開頭或結尾)上的字元在刪除序列內,就刪除掉。
例如,
>>> a = ‘ 123‘>>> a ‘ 123‘>>> a.strip() ‘123‘
(2)這裡的rm刪除序列是只要邊(開頭或結尾)上的字元在刪除序列內,就刪除掉。
例如,
>>> a = ‘123abc‘>>> a.strip(‘21‘) ‘3abc‘>>> a.strip(‘12‘) ‘3abc‘
python strip() 函數和 split() 函數的詳解及執行個體
一直以來都分不清楚strip和split的功能,實際上strip是刪除的意思;而split則是分割的意思。因此也表示了這兩個功能是完全不一樣的,strip可以刪除字串的某些字元,而split則是根據規定的字元將字串進行分割。下面就詳細說一下這兩個功能,
1 Python strip()函數 介紹
函數原型
聲明:s為字串,rm為要刪除的字元序列
s.strip(rm) 刪除s字串中開頭、結尾處,位於 rm刪除序列的字元
s.lstrip(rm) 刪除s字串中開頭處,位於 rm刪除序列的字元
s.rstrip(rm) 刪除s字串中結尾處,位於 rm刪除序列的字元
注意:
(1)當rm為空白時,預設刪除空白符(包括‘\n‘, ‘\r‘, ‘\t‘, ‘ ‘)
(2)這裡的rm刪除序列是只要邊(開頭或結尾)上的字元在刪除序列內,就刪除掉。
例如,
?
| 12345 |
>>> a = ‘ 123‘>>> a‘ 123‘>>> a.strip()‘123‘ |
(2)這裡的rm刪除序列是只要邊(開頭或結尾)上的字元在刪除序列內,就刪除掉。
例如,
?
| 12345 |
>>> a = ‘123abc‘>>> a.strip(‘21‘)‘3abc‘>>> a.strip(‘12‘)‘3abc‘ |
結果是一樣的。
2 python split()函數 介紹
說明:
Python中沒有字元類型的說法,只有字串,這裡所說的字元就是只包含一個字元的字串!!!
這裡這樣寫的原因只是為了方便理解,僅此而已。
(1)按某一個字元分割,如‘.‘
?
| 123456 |
>>> str = (‘www.google.com‘)>>> print strwww.google.com>>> str_split = str.split(‘.‘)>>> print str_split[‘www‘, ‘google‘, ‘com‘] |
(2)按某一個字元分割,且分割n次。如按‘.‘分割1次
?
| 123 |
>>> str_split = str.split(‘.‘,1)>>> print str_split[‘www‘, ‘google.com‘] |
(3)split()函數後面還可以加Regex,例如:
?
| 123 |
>>> str_split = str.split(‘.‘)[0]>>> print str_splitwww |
split分隔後是一個列表,[0]表示取其第一個元素;
?
| 123456 |
>>> str_split = str.split(‘.‘)[::-1]>>> print str_split[‘com‘, ‘google‘, ‘www‘]>>> str_split = str.split(‘.‘)[::]>>> print str_split[‘www‘, ‘google‘, ‘com‘] |
按反序列排列,[::]安正序排列
?
| 123456789 |
>>> str = str + ‘.com.cn‘>>> str‘www.google.com.com.cn‘>>> str_split = str.split(‘.‘)[::-1]>>> print str_split[‘cn‘, ‘com‘, ‘com‘, ‘google‘, ‘www‘]>>> str_split = str.split(‘.‘)[:-1]>>> print str_split[‘www‘, ‘google‘, ‘com‘, ‘com‘] |
從首個元素開始到次末尾,最後一個元素刪除掉。
split()函數典型應用之一,ip數字互換:
# ip ==> 數字
?
| 123 |
>>> ip2num = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split(‘.‘)[::-1])])>>> ip2num(‘192.168.0.1‘)3232235521 |
# 數字 ==> ip # 數字範圍[0, 255^4]
?
| 123 |
>>> num2ip = lambda x: ‘.‘.join([str(x/(256**i)%256) for i in range(3,-1,-1)])>>> num2ip(3232235521)‘192.168.0.1‘ |
最後,python怎樣將一個整數與IP地址相互轉換?
?
| 1234567 |
>>> import socket>>> import struct>>> int_ip = 123456789>>> socket.inet_ntoa(struct.pack(‘I‘,socket.htonl(int_ip)))#整數轉換為ip地址‘7.91.205.21‘>>> str(socket.ntohl(struct.unpack(“I”,socket.inet_aton(“255.255.255.255″))[0]))#ip地址轉換為整數‘4294967295‘ |
Python strip()方法