python字符串切割:str.split()与re.split()的对比分析


Posted in Python onJuly 16, 2019

1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。

>>> s1="aa bb cc"
>>> s1.split(' ')
['aa', 'bb', '', 'cc']

因此split只适合简单的字符分割

2、re.split,支持正则及多个字符切割

>>> print line
abc aa;bb,cc | dd(xx).xxx 12.12'	xxxx
按空格切
>>> re.split(r' ',line)
['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'\txxxx"]
加将空格放可选框内[]内
>>> re.split(r'[ ]',line)
['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'\txxxx"]
按所有空白字符来切割:\s([\t\n\r\f\v])\S(任意非空白字符[^\t\n\r\f\v]
>>> re.split(r'[\s]',line)
['abc', 'aa;bb,cc', '|', 'dd(xx).xxx', "12.12'", 'xxxx']
多字符匹配
>>> re.split(r'[;,]',line)
['abc aa', 'bb', "cc | dd(xx).xxx 12.12'\txxxx"]
>>> re.split(r'[;,\s]',line)
['abc', 'aa', 'bb', 'cc', '|', 'dd(xx).xxx', "12.12'", 'xxxx']
使用括号捕获分组的适合,默认保留分割符
re.split('([;])',line)
['abc aa', ';', "bb,cc | dd(xx).xxx 12.12'\txxxx"]
去掉分隔符,加?:
>>> re.split(r'(?:;)',line)
['abc aa', "bb,cc | dd(xx).xxx 12.12'\txxxx"]

以上这篇python字符串切割:str.split()与re.split()的对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现模拟按键,自动翻页看u17漫画
Mar 17 Python
举例详解Python中threading模块的几个常用方法
Jun 18 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
Oct 11 Python
Python实现感知机(PLA)算法
Dec 20 Python
python2.7安装图文教程
Mar 13 Python
python 通过xml获取测试节点和属性的实例
Mar 31 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 #Python
Python Django切换MySQL数据库实例详解
Jul 16 #Python
Python二维码生成识别实例详解
Jul 16 #Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 #Python
Python Web版语音合成实例详解
Jul 16 #Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 #Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 #Python
You might like
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
扩展你的 PHP 之入门篇
2006/12/04 PHP
php实现天干地支计算器示例
2014/03/14 PHP
浅谈php提交form表单
2015/07/01 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
PDO::quote讲解
2019/01/29 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
python实现人工蜂群算法
2020/09/18 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
入党介绍人意见范文
2015/06/01 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python