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

自学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  输出被@的好友

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/675749.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多校园在校跑腿小程序 代拿快递+寄取快递+外卖配送等 前后端分离带完整的安装代码包以及搭建教程

系统概述 该系统采用前后端分离的开发模式,后端采用稳定的服务器端架构,确保系统稳定、安全、高效地运行。前端则采用轻量级框架,兼容多平台、多设备,确保用户在不同场景下都能获得流畅的使用体验。同时,还提供了完整…

地理坐标系、投影坐标系、ECEF坐标系(地心地固坐标系)、ENU坐标系(站心坐标系)的区别

地理坐标系、投影坐标系、ECEF坐标系(地心地固坐标系)、ENU坐标系(站心坐标系)的区别 1、 地理坐标系1)什么是地理坐标系2)为什么引入地理坐标系3)WGS84和CGCS2000的差别4)缺陷5&…

扑克牌游戏

完整代码: #include <iostream>#include <string> #include <conio.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <algorithm> using namespace std;class Playing_Card //扑克类 {//private: publi…

ERP系统源码:企业资源规划的技术实现与优化

ERP&#xff08;Enterprise Resource Planning&#xff0c;企业资源规划&#xff09;系统是一种集成管理软件&#xff0c;它将企业的所有业务流程&#xff0c;包括采购、生产、库存、销售、财务等集成在一起&#xff0c;实现信息共享和资源优化配置。本文将详细介绍ERP系统的技…

C++入门5——C/C++动态内存管理(new与delete)

目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明&#xff1a; 1. 栈区&#xff08;stack&#xff09;&#xff1a;在…

【人工智能Ⅱ】实验9:强化学习Q-Learning算法

实验9&#xff1a;强化学习Q-Learning算法 一&#xff1a;实验目的 1&#xff1a;了解强化学习的基本概念。 2&#xff1a;学习强化学习经典算法——Q-Learing算法。 3&#xff1a;通过Q-Learing算法解决问题。 二&#xff1a;实验内容 2.1 强化学习 强化学习&#xff08;…

Pinia的介绍、使用及持久化

Pinia介绍 什么是Pinia&#xff1f; Pinia 是 Vue 的最新 状态管理工具&#xff0c;状态就是数据。 通俗地讲&#xff1a;Pinia 是一个插件&#xff0c;可以帮我们管理 vue 通用的数据 (多组件共享的数据)。 比如一份数据有多个组件需要使用&#xff0c;在学Pinia之前我们需…

nginx 中文文档

nginx 中文文档 中文文档

单枪匹马月入17万美元:数字游民Pieter Levels如何成就商业传奇

了解数字游民的应该都听说过 Pieter Levels&#xff0c;可以说他是数字游民的先驱人物。 他在推特上拥有超过43万的粉丝&#xff0c;仅凭一台笔记本电脑就连续建立了多个高盈利网站&#xff0c;光是推特主页上展示的比较新的几个网站&#xff0c;每月收入加起来就高达 17.6 万…

【机器学习】机器学习与大模型在人工智能领域的融合应用与性能优化新探索

文章目录 引言机器学习与大模型的基本概念机器学习概述监督学习无监督学习强化学习 大模型概述GPT-3BERTResNetTransformer 机器学习与大模型的融合应用自然语言处理文本生成文本分类机器翻译 图像识别自动驾驶医学影像分析 语音识别智能助手语音转文字 大模型性能优化的新探索…

解读信创产业根基,操作系统发展历程

信创产业根基之一操作系统 操作系统是一个关键的控制程序&#xff0c;负责协调、管理和控制计算机硬件和软件资源。作为硬件的首要软件扩展&#xff0c;它位于裸机与用户之间&#xff0c;充当了两者之间的桥梁。通过其核心程序&#xff0c;操作系统高效地管理着系统中的各类资源…

开山之作!Python数据与算法分析手册,登顶GitHub!

若把编写代码比作行军打仗&#xff0c;那么要想称霸沙场&#xff0c;不能仅靠手中的利刃&#xff0c;还需深谙兵法。 Python是一把利刃&#xff0c;数据结构与算法则是兵法。只有熟读兵法&#xff0c;才能使利刃所向披靡。只有洞彻数据结构与算法&#xff0c;才能真正精通Pyth…

营销方案撰写秘籍:包含内容全解析,让你的方案脱颖而出

做了十几年品牌&#xff0c;策划出身&#xff0c;混迹过几个知名广告公司&#xff0c;个人经验供楼主参考。 只要掌握以下这些营销策划案的要点&#xff0c;你就能制作出既全面又专业的策划案&#xff0c;让你的工作成果不仅得到同事的认可&#xff0c;更能赢得老板的赏识&…

Transgaga——人脸与猫脸之间互相转换算法解析

1. 概述 虽然pix2pix作为风格转换模型被提出&#xff0c;但它依赖于成对的数据集。与之相比&#xff0c;CycleGAN通过引入循环损失&#xff0c;实现了无需配对数据的风格转换。不过&#xff0c;CycleGAN在处理需要大幅几何变化的风格转换时表现不佳&#xff0c;仅在如马和斑马…

JAVA流程控制--增强for循环

1.JAVA5引入了一种主要用于数组或集合的增强型for循环 2.JAVA增强for循环语法格式如下&#xff1a; for(声明语句&#xff1a;表达式&#xff09; { //代码句子 } 3.声明语句&#xff1a;声明新的局部变量&#xff0c;该变量的类型必须和数组元素的类型匹配。其作用域限定在循…

最新鸿蒙南北开发学习路线+学习资料分享

前言 5月29日&#xff0c;“千帆竞发启航 共筑鸿蒙生态”鸿蒙原生应用合作仪式在北京成功举办&#xff0c;近40个应用现场官宣启动鸿蒙原生应用开发。此次官宣启动开发的鸿蒙原生应用不仅包括教育、母婴、出行、医疗健康等多领域的知名应用&#xff0c;还有十多家企业内部办公应…

【C语言】位段(结构体实现位段)

目录 一、位段的定义 二、位段的声明 三、位段的内存分配 四、位段在内存中的存储方式 五、位段的优点 六、位段的跨平台问题 七、位段的应用 八、位段使用的注意事项 一、位段的定义 信息的存取一般以字节为单位。实际上&#xff0c;有时存储一个信息不必用一个或多个字…

参数高效微调PEFT(四)快速入门(IA)3

参数高效微调PEFT(四)快速入门(IA)3 我们已经了解了HuggingFace中peft库的几种高效微调方法。 参数高效微调PEFT(一)快速入门BitFit、Prompt Tuning、Prefix Tuning 参数高效微调PEFT(二)快速入门P-Tuning、P-Tuning V2 参数高效微调PEFT(三)快速入门LoRA、AdaLoRA 今天我…

Linux基础命令[28]-chmod

文章目录 1. chmod 命令说明2. chmod 命令语法3. chmod 命令示例3.1 使用数字赋权3.2 使用字母赋权3.3 -R&#xff08;一起修改子目录&#xff09; 4. 总结 1. chmod 命令说明 chmod&#xff1a;为文件或文件夹赋予权限。Linux-文件或目录权限。基本信息如下&#xff1a; Usa…

目标2亿欧元!四年两次募资,全球最早专注于量子投资的Quantonation再次加码

Quantonation Ventures 是全球第一家专注于深度物理和量子技术的早期风险投资公司。4月10日&#xff0c;该公司宣布其第二只专门用于量子技术的早期基金 Quantonation II 首次募资完成&#xff0c;目前已募资 7000 万欧元&#xff0c;而目标为 2 亿欧元。 首次募资就募到了将…