【问题标题】:Splitting a string with multiple delimiters in Python在 Python 中拆分具有多个分隔符的字符串
【发布时间】:2012-05-10 17:05:09
【问题描述】:

我正在使用正则表达式使用多个分隔符来拆分字符串。但是,如果我的两个分隔符在字符串中相邻出现,它会在结果列表中放置一个空字符串。例如:

re.split(',|;', "This,is;a,;string")

结果

['This', 'is', 'a', '', 'string']

有什么方法可以避免在我的列表中出现''而不添加,;作为分隔符?

【问题讨论】:

    标签: python string split delimiter


    【解决方案1】:

    试试这个:

    import re
    re.split(r'[,;]+', 'This,is;a,;string')
    > ['This', 'is', 'a', 'string']
    

    【讨论】:

    • 嗯,好的。现在,如果我的分隔符之一也是一个单词怎么办?例如:re.split(',|;|string', "This,is;a,;string")
    • 那么这将起作用:re.split(r'[,;]+|string', 'This,is;a,;string')
    • 现在输出将是['This', 'is', 'a', '', '']
    • 这很正常,您使用了多个分隔符。如果您需要过滤空字符串,请执行以下操作:[s for s in re.split(r'[,;]+|string', 'This,is;a,;string') if s]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2021-11-10
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多