re.split()分割字符串详解与实战应用

介绍: re.split()方法是根据正则表达式匹配将字符串进行分割,并以列表形式返回.跟字符串的split()方法用法类似.

语法: re.split(pattern,string,[maxsplit],[flags])

pattern: 模式字符串,分割字符   string:要匹配的字符串   maxsplit:可选参数,别是最大的拆分次数   flags:可选参数,比如re.I 不区分大小写.re.S使(.)能够匹配所有字符,包括换行符

话不多说,直接上代码

#1.以非数字进行分割
s = '11,22:33;44-55&&66'
res = re.split("[^0-9]+",s)
print(res)
#输出结果:['11', '22', '33', '44', '55', '66']

#2.以非数字进行分割,只分割两次
s = '11,22:33;44-55&&66'
res = re.split("[^0-9]+",s,2)
print(res)
#输出结果:['11', '22', '33', '44', '55', '66']

来个实战练练手

分割一个请求地址的协议类型,IP地址(或域名),端口号,目录,参数

import re
url = 'http://localhost:8080/login/user="shangguanyilan"&password="123456"'
res = re.split("://|/|:|&",url)
print("协议类型为:{}".format(res[0]))
print("IP地址(或域名)为:{}".format(res[1]))
print("端口号为:{}".format(res[2]))
print("路径为:{}".format(res[3]))
print("参数有:{}".format(res[4:]))
#输出结果:协议类型为:http
#        IP地址(或域名)为:localhost
#        端口号为:8080
#        路径为:login
#        参数有:['user="shangguanyilan"', 'password="123456"']

 

 

你可能感兴趣的:(python)