Python中字符串分割的常用方法是直接调用字符串的str.split方法,但是其只能指定一种分隔符,如果想指定多个分隔符拆分字符串需要用到re.split方法(正则表达式的split方法)。

str.split

字符串的split方法函数原型如下,其中sep为指定的分隔符,maxsplit为最大分割次数:

1

str.split(sep=

None, maxsplit=-1)

默认情况下,不指定分隔符时则以空白字符(空格,回车,制表符等)作为分隔符拆分字符串:

1

2

3

4

>>> s = ‘A B\tC\nD‘

>>> s.split()

[

‘A‘, ‘B‘, ‘C‘, ‘D‘]

>>>

在结果列表中,不会包含空字符串:

1

2

3

4

>>> s = ‘ A B\tC\nD\n\n‘

>>> s.split()

[

‘A‘, ‘B‘, ‘C‘, ‘D‘]

>>>

指定分隔符:

1

2

3

4

5

6

7

>>> s = ‘www.google.com‘

>>> s.split(‘.‘)

[

‘www‘, ‘google‘, ‘com‘]

>>> s = ‘AA||BB||CC||DD‘

>>> s.split(‘||‘)

[

‘AA‘, ‘BB‘, ‘CC‘, ‘DD‘]

>>>

指定最大分割次数:

1

2

3

4

5

6

7

>>> s = ‘www.google.com‘

>>> s.split(‘.‘, 1)

[

‘www‘, ‘google.com‘]

>>> s = ‘AA||BB||CC||DD‘

>>> s.split(‘||‘, 2)

[

‘AA‘, ‘BB‘, ‘CC||DD‘]

>>>

由此可见,当指定最大分割次数maxsplit时,结果列表长度为maxsplit+1。

但是,字符串的split方法只能指定一个分隔符,如下:

1

s =

‘AAAA,BBBB:CCCC;DDDD‘

如果想指定逗号、冒号、分号都做为分隔符,字符串的split方法是做不到的,此时要用正则表达式中的split方法。

re.split

正则表达式的split方法原型如下,其中pattern为指定的分隔正则表达式,string为要分割的字符串,maxsplit为最大分割次数,flags为正则表达式用到的通用标志:

1

re.split(pattern, string, maxsplit=

0, flags=0)

参考示例:

1

2

3

4

5

>>> import re

>>> s = ‘AAAA,BBBB:CCCC;DDDD‘

>>> re.split(r‘[,:;]‘, s)

[

‘AAAA‘, ‘BBBB‘, ‘CCCC‘, ‘DDDD‘]

>>>

如果在正则表达式里使用了捕获组也就是括号,则结果列表中也会包含捕获的内容:

1

2

3

4

5

>>> import re

>>> s = ‘AAAA,BBBB:CCCC;DDDD‘

>>> re.split(r‘([,:;])‘, s)

[

‘AAAA‘, ‘,‘, ‘BBBB‘, ‘:‘, ‘CCCC‘, ‘;‘, ‘DDDD‘]

>>>

如果不想在结果中看到分隔符,但仍然想用括号对正则表达式模式进行分组,可以使用非捕获组,以(?:...)的形式指定,示例如下:

1

2

3

4

5

>>> import re

>>> s = ‘AAAA,BBBB:CCCC;DDDD‘

>>> re.split(r‘(?:[,:;])‘, s)

[

‘AAAA‘, ‘BBBB‘, ‘CCCC‘, ‘DDDD‘]

>>>

指定最大分割次数:

1

2

3

4

5

6

7

>>> import re

>>> s = ‘AAAA,BBBB:CCCC;DDDD‘

>>> re.split(r‘[,:;]‘, s, 1)

[

‘AAAA‘, ‘BBBB:CCCC;DDDD‘]

>>> re.split(r‘[,:;]‘, s, 2)

[

‘AAAA‘, ‘BBBB‘, ‘CCCC;DDDD‘]

>>>

由此可见,当指定最大分割次数maxsplit时,结果列表长度为maxsplit+1。

指定正则表达式中的通用标志flags:

1

2

3

4

>>> import re

>>> re.split(‘[a-f]+‘, ‘0a3B9‘, flags=re.IGNORECASE)

[

‘0‘, ‘3‘, ‘9‘]

>>>

原文链接:http://www.revotu.com/python-split-string-methods.html

python 字符串分割方法_Python字符串分割方法总结相关推荐

  1. python字符串的表示_Python字符串方法总结

    Python字符串方法图示: (温馨提示:对图片点右键--在新标签页中打开图片) 1.index() 定义:查找并返回指定str的索引位置,如果没找到则会抛异常(查找的顺序是从左至右)可以指定范围:开 ...

  2. python字符串函数的find方法_python字符串的方法与操作大全

    一:字符串的方法与操作 *注意:首字母为l的为从左边操作,为r的方法为从右边操作 1.__contains__()判断是否包含 判断指定字符或字符串是否包含在一个字符串内,返回值为true或者fals ...

  3. python字符串变量替换_python字符串替换第一个字符串的方法

    Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...

  4. python字符串截取拼接_Python字符串拼接、截取及替换方法总结分析

    本文实例讲述了Python字符串拼接.截取及替换方法.分享给大家供大家参考,具体如下: python字符串连接 python字符串连接有几种方法,我开始用的第一个方法效率是最低的,后来看了书以后就用了 ...

  5. [转载] python字符串表示方法_python字符串使用方法归纳

    参考链接: Python字符串| splitlines capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符 ...

  6. 写出python字符串三种常用的函数或方法_Python字符串的使用和相关函数方法

    1.创建字符串很简单,只要为变量分配一个值即可.例如:var1 = 'Hello World!' var2 = "Python Good" 2.python 访问字符串中的值. P ...

  7. python怎样输出字符串和数字_Python 字符串与数字输出方法

    Python 字符串与数字输出方法 如下所示: x = 3 print(x+"nihao") 这样会报错 x = 3 print(x,"nihao") 这样不会 ...

  8. python中字符串查找子串_Python字符串中查找子串的方法

    Python字符串中查找子串的方法 发布于 2015-04-12 08:58:32 | 230 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对象.解释型计 ...

  9. python字符串的方法和列表的方法_python 字符串方法及列表,元组,字典(一)

    字符串 str 注: 若想要保持单引号和双引号为字符串的一部分 1)单双引号交替使用, 2)使用转义字符\ 3)成对三个引号被存在变量里 二.字符串详细用法 字符串的单个取值例 p_1="h ...

  10. python输入两个字符串连接起来_python字符串连接的多种方法

    python中有很多字符串连接方式,今天在写代码,顺便总结一下,从最原始的字符串连接方式到字符串列表连接,大家感受下 python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连 ...

最新文章

  1. 漫话:如何给女朋友解释什么是熔断?
  2. QC中设置组权限-隐藏筛选器
  3. DevExpress控件安装和初次使用图解
  4. WinSock五种I/O模型的性能分析
  5. sketch软件_Sketch软件怎么用?怎么提升Sketch软件技巧?
  6. vux 地图插件_基于vue的移动端组件vux的安装及使用
  7. JavaScript 第三课 DOM
  8. 管理学习笔记(1)——高效团队的五大关键
  9. Flask框架——ORM数据库
  10. mybatis-plus 会自动增加 order by_自动化常见问题:SCL、变压器、欧姆龙软件、机器人控制分享...
  11. 转载:::::简单分享一个轻量级自动化测试框架目录结构设计
  12. android个人理财通项目_怎么开通微信理财通,利用闲钱赚收益
  13. 转 LCD的接口类型详解
  14. linux mysql csv文件_Linux MySQL数据库如何导出数据文件?导出csv语句命令
  15. 电容的q值计算公式_(生活小贴士)一分钟了解“三星贴片电容的结构与材料特性”...
  16. mysql命令语句来去除掉字段中空格字符的方法
  17. nlp基础—7.隐马尔可夫模型(HMM算法)
  18. 用HTML5做一个个人网站,此文仅展示个人主页界面。内附源代码下载地址
  19. 1200兆路由器网速_办个100M的网,买一个1200M的路由器回家,网速真的会变快吗?...
  20. 周公解梦|做梦的解释|鬼压床|为什么会做梦

热门文章

  1. 用python画皇冠_GitHub - crown-prince/Python_PoC: 一款python编写的Web安全检测PoCEXP框架...
  2. 数商云营销渠道管理系统解决方案:企业级营销系统类型、定位、管理
  3. 因为计算机中丢失lua.dll,lua51.dll丢失修复
  4. 知识服务才是为用户创造价值的体现
  5. 分区助手扩大c盘后自动修复_【分区助手】如何扩大C盘容量?
  6. 网站seo运营中如何精确预测热门搜索关键词?
  7. 牛牛现在有n张扑克牌-字符串
  8. excel两个表格数据合并
  9. FrameTime、FPS、流畅度、Jank
  10. FDD下行信道估计的一些知识点