python用split多字符分割字符串的方法

1.python 有内置函数split()分隔字符串,但这个内置函数只能识别单个分隔符。

调用方法如下: 

str.split(str="", num=string.count(str)).

其中: 

  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。默认为 -1, 即分隔所有。

示例如下:

word = 'python_study_2000-2022-(1).py'
lista = word.split('_')
print(lista)

#['python', 'study', '2000-2022-(1).py']
#默认num=-1分割所有,以_进行分割

listb = word.split('_-')
print(listb)

#['python_study_2000-2022-(1).py']
#在此处识别到的是以_-整体进行分割,但字符串没有这个整体连接符,所以直接返回整个字符串。


listc = word.split('_|-')
print(listc)

#['python_study_2000-2022-(1).py']
#用|或的方法也没有用,反而认为是以_|-整体进行分割,所以还是返回整个字符串。

listd = word.split('_', 1)
print(listd)

#['python', 'study_2000-2022-(1).py']
#仅仅限制分割一次,所以返回两个字符串列表

2. 用正则表达式re模块的split()函数可以使用多个分隔符对字符串进行分割,其中不同的分隔符用中括号[]圈起来(推荐此种方法),或者用“|”隔开。

word = 'python_study_2000-2022.py'

import re

listf = re.split(r'[_.-]',word)#推荐此法,其中.号不能放最后,但可放最前或中间
print(listf)
#['python', 'study', '2000', '2022', 'py']

liste = re.split('_|-',word)#不能用于分割.号
print(liste)
#['python', 'study', '2000', '2022.py']

文章来源地址https://uudwc.com/A/aYgbz

原文地址:https://blog.csdn.net/weixin_43404930/article/details/131728041

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月24日 17:50
Skywalking出现[TID:Ignored_Trace]问题解决方案及源码定位
下一篇 2023年09月24日 17:56