我有"2-20,41"
。當第三個值不總是在那裏時,我如何在python中解析它。情況1 = "2-20"
,情況2 = "2-20,41"
,情況3 = "2-20,41,42"
。如何在Python中解析不同分隔符的值
我需要檢查我的值x
是否在逗號後的範圍內。逗號後面可能有一個值,或者兩個逗號後有兩個不同的值。
我有"2-20,41"
。當第三個值不總是在那裏時,我如何在python中解析它。情況1 = "2-20"
,情況2 = "2-20,41"
,情況3 = "2-20,41,42"
。如何在Python中解析不同分隔符的值
我需要檢查我的值x
是否在逗號後的範圍內。逗號後面可能有一個值,或者兩個逗號後有兩個不同的值。
>>> 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')
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
如果您可以編輯您的答案並解釋您所展示的代碼的功能,以及代碼爲什麼/如何回答這個問題,這可能真的有所幫助。代碼塊本身通常不是有用的答案。 – 2015-02-10 06:24:24
你能包括一個例子的輸入和輸出,顯示所期望的效果? – 2015-02-10 04:27:43
對不起,基本上我有一個值,x = 10,數字範圍[2,20],所以情況1:x = 10,在[2,10]的範圍內,那麼它將返回true。情況2:如果x = 41,並且檢查範圍2-20,加上第三個數字41,那麼返回也是正確的。我的問題是與第三個值41,可能會或可能不存在,如何檢查我的值x = 41或不? – PChao 2015-02-10 04:36:30
請澄清問題。 – wwii 2015-02-10 04:38:42