如何在python中解析具有不同分隔符的值

时间:2015-02-10 04:26:38

标签: python

我有"2-20,41"。当第三个值并不总是存在时,如何在python中解析它。它可能是 案例1 = "2-20",案例2 = "2-20,41",案例3 = "2-20,41,42"

我需要检查我的值x是否在范围内或等于逗号之后的值。逗号后面可能有一个值,或者两个不同的逗号后面可能有两个不同的值。

2 个答案:

答案 0 :(得分:0)

>>> re.search('^(\d+)-(\d+)((,\d+){0,2})$','2-20').groups()
('2', '20', '', None)
>>> re.search('^(\d+)-(\d+)((,\d+){0,2})$','2-20,41').groups()
('2', '20', ',41', ',41')
>>> re.search('^(\d+)-(\d+)((,\d+){0,2})$','2-20,41,42').groups()
('2', '20', ',41,42', ',42')

答案 1 :(得分:-1)

for i in '2-30,40,50,100'.split(','):
   parts = i.split('-')
   if len(parts) == 2:
     if n >= int(parts[0]) and n <= int(parts[1]):
       print 'match'
       break
   elif n == int(parts[0]):
     print 'match'
     break