使用正则表达式分割字符串

自学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"']

场景模拟:微博的@好友栏目中,输入“@ @扎克伯格 @俞敏洪”(好友名称之间用一个空格区分),即可同时@三个好友。

图标 (35)

  实例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  输出被@的好友

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子味冰可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值