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','']两个的结果最终是一样的
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
