栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

基于多种分隔符进行字符串的分割

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于多种分隔符进行字符串的分割

首先来说 字符串尾部的不叫分隔符 字符串中间的才叫分隔符。
例如 Hello World, My name is Python. 中的点号就不是分隔符

将下面这个字符串切分成单个的单词。
Hello World, My name is Python

从上面这个例子中可以看出分隔符有逗号 多个空格 这三种。下面给出两种解决办法。

方法1 String模块的spilt()
思路 将除了空格以外的其他分隔符全部替换为空格 然后按照空格符进行分割。
str.replace( a , b ) 表示用 b 替换掉 str 中的 a
str.split() 默认按照空格进行分割字符串str
str.split( , ) 表示按照 , 进行分割字符串 str

 str Hello World, My name is Python. 
 str.replace( , , ).replace( , ).split()
[ Hello , World , My , name , is , Python ]

方法2 re模块的spilt()

 import re
 str Hello World, My name is Python 
 re.split(r [, s]s* , str)
[ Hello , World , My , name , is , Python ]

正则表达式符号复习
- ? 匹配零次或一次前面的分组
- * 匹配零次或多次前面的分组
- 匹配一次或多次前面的分组
- {n} 匹配 n 次前面的分组
- {n,} 匹配 n 次或更多次前面的分组
- {,m} 匹配零次到 m 次前面的分组
- {n,m} 匹配至少 n 次 至多 m 次前面的分组
- {n,m}? 、{n,m}*? 、{n,m} ? 对前面的分组进行非贪心匹配
- ^spam 表示字符串必须以 spam 开始
- spam$ 表示字符串必须以 spam 结束
- . 匹配所有字符 换行符除外
- d 、w 、s 分别匹配数字、单词、空格
- D 、W 、S 分别匹配除数字、单词、空格外的所有字符
- [abc] 表示匹配方括号内的任意字符 例如上面例子中的,, ,
- [^abc] 表示匹配不在方括号内的任意字符

总结
显然 String 对象的 split() 方法只适用于非常简单的字符串分割的场景 它并不允许有多个分隔符或者是分隔符周围不确定的空格 本例中的逗号后面有若干空格 。当需要更加灵活的切割字符串的时候 最好使用 re.split() 方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267030.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号