python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python多个字符串条件分割split

python多个字符串条件分割split方式

作者:fuxing2018

这篇文章主要介绍了python多个字符串条件分割split方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python多个字符串条件分割split

1. python内置函数split()只能按照单个分隔符分割

str_test = '我住长江头,君住长江尾。日日思君不见君,共饮长江水。'
str_test.split(',')
 
# 结果:
['我住长江头', '君住长江尾。日日思君不见君', '共饮长江水。']

2. 如果需要按照多个条件分割,可使用re模块的split()函数进行分割

import re
 
# 格式1:
re.split(',|。',str_test)
 
# 格式2:
re.split('[:,。]', str_test)
 
# 结果:
['我住长江头,君住长江尾', '日日思君不见君,共饮长江水', '']

Python str.split和re.split(),多个分隔符情况

split适用于单个分隔符

当需要多个分隔时,可以逐次使用split()

text = "abc def!"
sg = text.split()
sg[1] = sg[1].split('!')[0]
print(sg) #['abc', 'def']

这种情况下,使用re.split()较为方便

re.split(pattern, string, maxsplit=0) #原型
re.split()的使用有两种方式:
re.split("[ !]", text) #[]里边放的是需要的分隔符,中间没有空格和逗号
re.split(",|!", text) #中间用 | 隔开

当是多个单一分隔符时,适合用第一种,第二种需要考虑某些字符需要转义使用

re.split("[;,?]")
re.split(";|,|\?", text)

当多个长短不一的分隔符时,适合第二种

re.split(r";|,|\?\s|;\s|,\s", text) 
text = "abc,l def!"
re.split("[, !]", text) #['abc', 'l', 'def','']
re.split(",| |!", text) #['abc', 'l', 'def','']

两个的结果最终是一样的

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文