1. 程式人生 > >strip()函數和 split()函數

strip()函數和 split()函數

字符串 erl syn nbsp 類型 lba ner ring ont

一:python strip()函數介紹

函數原型:strip可以刪除字符串的某些字符

聲明:s為字符串,rm為要刪除的字符序列

s.strip(rm) 刪除s字符串中開頭、結尾處,位於 rm刪除序列的字符

s.lstrip(rm) 刪除s字符串中開頭處,位於 rm刪除序列的字符

s.rstrip(rm) 刪除s字符串中結尾處,位於 rm刪除序列的字符

註意:

1. 當rm為空時,默認刪除空白符(包括‘\n‘, ‘\r‘, ‘\t‘, ‘ ‘)

例如:

復制代碼 代碼如下:
>>> a = ‘ 123‘
>>> a.strip()
‘123‘
>>> a=‘\t\tabc‘
‘abc‘
>>> a = ‘sdff\r\n‘
>>> a.strip()
‘sdff‘

2.這裏的rm刪除序列是只要邊(開頭或結尾)上的字符在刪除序列內,就刪除掉。

例如 :

復制代碼 代碼如下:
>>> a = ‘123abc‘
>>> a.strip(‘21‘)
‘3abc‘ 結果是一樣的
>>> a.strip(‘12‘)
‘3abc‘ 註意:這樣結果是一樣的 二:python split()函數 介紹

說明:

Python中沒有字符類型的說法,只有字符串,這裏所說的字符就是只包含一個字符的字符串!!!

這裏這樣寫的原因只是為了方便理解,僅此而已。

(1)按某一個字符分割,如‘.‘

1 2 3 4 5 6 >>> str = (‘www.google.com‘) >>> print str www.google.com >>> str_split = str.split(‘.‘) >>> print str_split [‘www‘, ‘google‘, ‘com‘]

(2)按某一個字符分割,且分割n次。如按‘.‘分割1次

1 2 3 >>> str_split = str.split(‘.‘,1) >>> print str_split
[‘www‘, ‘google.com‘]

(3)split()函數後面還可以加正則表達式,例如:

1 2 3 >>> str_split = str.split(‘.‘)[0] >>> print str_split www

(4)split分隔後是一個列表,[0]表示取其第一個元素;

1 2 3 4 5 6 >>> str_split = str.split(‘.‘)[::-1] >>> print str_split [‘com‘, ‘google‘, ‘www‘] >>> str_split = str.split(‘.‘)[::] >>> print str_split [‘www‘, ‘google‘, ‘com‘]

(5)按反序列排列,[::]安正序排列

1 2 3 4 5 6 7 8 9 >>> 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 ==> 數字

1 2 3 >>> 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]

1 2 3 >>> num2ip = lambda x: ‘.‘.join([str(x/(256**i)%256) for i in range(3,-1,-1)]) >>> num2ip(3232235521) ‘192.168.0.1‘

最後,python怎樣將一個整數與IP地址相互轉換?

1 2 3 4 5 6 7 >>> 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

strip()函數和 split()函數