自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
split()方法用于实现根据正则表达式分割字符串,并以列表的形式返回。其作用同字符串对象的split()方法类似,所不同的就是分割字符由模式字符串指定。split()方法的语法格式如下:
re.split(pattern, string, [maxsplit], [flags])
参数说明:
l pattern:表示模式字符串,由要匹配的正则表达式转换而来。
l string:表示要匹配的字符串。
l maxsplit:可选参数,表示最大的拆分次数。
l flags:可选参数,表示标志位,用于控制匹配方式,如是否区分字母大小写。常用的标志如表5所示。
例如,从给定的URL地址中提取出请求地址和各个参数,代码如下:
import re
pattern = r'[?|&]' # 定义分割符
url = 'http://www.mingrisoft.com/login.jsp?username="mr"&pwd="mrsoft"'
result = re.split(pattern,url) # 分割字符串
print(result)
执行结果如下:
['http://www.mingrisoft.com/login.jsp', 'username="mr"', 'pwd="mrsoft"']
场景模拟:微博的@好友栏目中,输入“@明日科技 @扎克伯格 @俞敏洪”(好友名称之间用一个空格区分),即可同时@三个好友。
实例10 输出被@的好友名称(应用正则表达式)
在IDLE中创建一个名称为atfriendsplit1.py的文件,然后在该文件中定义一个字符串,内容为“@明日科技 @扎克伯格 @俞敏洪”,然后使用re模块的split()方法对该字符串进行分割,从而获取出好友名称,并输出,代码如下:
import re
str1 = '@明日科技 @扎克伯格 @俞敏洪'
pattern = r'\s*@'
list1 = re.split(pattern,str1) # 用空格和@或单独的@分割字符串
print('您@的好友有:')
for item in list1:
if item != "": # 输出不为空的元素
print("\n"+item) # 输出每个好友名
运行结果如图25所示。
图25 输出被@的好友