当前位置: 代码迷 >> 综合 >> python strip() 函数和 split() 函数的详解及实例
  详细解决方案

python strip() 函数和 split() 函数的详解及实例

热度:8   发布时间:2023-10-10 02:08:08.0

strip函数原型

声明:s为字符串,rm为要删除的字符序列. 只能删除开头或是结尾的字符或是字符串。不能删除中间的字符或是字符串

s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

注意:

  1. 当rm为空时,默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')
    例如:
    python strip() 函数和 split() 函数的详解及实例

  2. 这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。
    例如 :
    python strip() 函数和 split() 函数的详解及实例

字符串的split用法

说明:
Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!!
split返回的是一个列表。

首先列出一种常用的情况,不带参数,默认是空白字符。如下:
python strip() 函数和 split() 函数的详解及实例
结果为:
python strip() 函数和 split() 函数的详解及实例
1.按某一个字符分割,如‘.’

str = ('www.google.com')
print str
str_split = str.split('.')
print str_split

结果如下:
python strip() 函数和 split() 函数的详解及实例
2.按某一个字符分割,且分割n次。如按‘.’分割1次

str = ('www.google.com')
print str
str_split = str.split('.'1)
print str_split

结果如下:
python strip() 函数和 split() 函数的详解及实例
3.按某一字符串分割。如:‘||’

str = ('WinXP||Win7||Win8||Win8.1')
print str
str_split = str.split('||')
print str_split

结果如下:
python strip() 函数和 split() 函数的详解及实例
4.按某一字符串分割,且分割n次。如:按‘||’分割2次

str = ('WinXP||Win7||Win8||Win8.1')
print str
str_split = str.split('||',2)
print str_split

结果如下:
python strip() 函数和 split() 函数的详解及实例
5.按某一字符(或字符串)分割,且分割n次,并将分割的完成的字符串(或字符)赋给新的(n+1)个变量。(注:见开头说明)
如:按‘.’分割字符,且分割1次,并将分割后的字符串赋给2个变量str1,str2

url = ('www.google.com')
str1, str2 = url.split('.', 1)
print str1
print str2

结果如下:

python strip() 函数和 split() 函数的详解及实例
6. split()函数后面还可以加正则表达式,例如:

str = ('www.google.com') 
str_split = str.split('.')[0] 
print str_split 
www 

split分隔后是一个列表,[0]表示取其第一个元素;

str_split = str.split('.')[::-1] 
print str_split 
['com', 'google', 'www'] 
str_split = str.split('.')[::] 
print str_split 
['www', 'google', 'com'] 

[::-1]按反序列排列,[::]安正序排列

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 ==> 数字

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]

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

最后,python怎样将一个整数与IP地址相互转换?

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' 

转自:
https://www.cnblogs.com/yyxayz/p/4034299.html
https://www.jb51.net/article/104453.htm