如何根据冒号或连字符拆分字符串?

时间:2015-04-16 22:43:44

标签: python string split

a = '4-6'
b= '7:10'

我已经尝试了

a.split('-')
a.split(':')

我怎样才能编写可以接受字符串并删除冒号和连字符的代码?除了将相同的字符串拆分两次之外,还有更好的方法吗?

2 个答案:

答案 0 :(得分:9)

要拆分多个分隔符,可以使用re.split和字符集:

import re
re.split('[-:]', a)

演示:

>>> import re
>>> a = '4-6'
>>> b = '7:10'
>>> re.split('[-:]', a)
['4', '6']
>>> re.split('[-:]', b)
['7', '10']

但请注意,-也用于指定字符集中的字符范围。例如,[A-Z]将匹配所有大写字母。为避免出现这种情况,您可以像我上面那样将-放在集合的开头。有关正则表达式语法的详细信息,请参阅文档中的Regular Expression Syntax

答案 1 :(得分:2)

您可以将另一个替换为另一个,然后拆分整个字符串:

parts = your_string.replace('-', ':').split(':')