我需要在一個字符串中提取兩個數字。他們可以是這樣的:從字符串中獲取兩個數字
(0,0)
(122,158)
(1,22)
(883,8)
etc...
所以我想要得到的逗號之前的第一個數字和逗號後面的數字,並將其存儲在變量。我能得到的第一個數字是這樣的:
myString.split(',')[0][1:])
但是,我想不出如何讓下一個號碼。
感謝您的幫助大家!
我需要在一個字符串中提取兩個數字。他們可以是這樣的:從字符串中獲取兩個數字
(0,0)
(122,158)
(1,22)
(883,8)
etc...
所以我想要得到的逗號之前的第一個數字和逗號後面的數字,並將其存儲在變量。我能得到的第一個數字是這樣的:
myString.split(',')[0][1:])
但是,我想不出如何讓下一個號碼。
感謝您的幫助大家!
它應該這樣工作就像
myVar.split(',')[0][1:] # = 122 for the string in the second line
myVar.split(',')[1][:-1] # = 158 for the string in the second line
這應該是做的最簡單的方法這個
@Posh_Pumpkin我一發現就意識到這一點,我的手指比我的大腦快:-) –
你可以擺脫括號,分割字符串,並將其轉換每個項目的INT:
a, b = [int(x) for x in s[1:-1].split(',')]
當然,如果你絕對的把握大約T t他字符串的格式,並且不關心安全性,你可以只eval
字符串:
a, b = eval(s)
多任務,stripping括號和分裂會做:
a, b = myString.lstrip('(').rstrip(')').split(',')
# a, b = map(int, (a, b))
myVar.split(',')[1][:-1])
會得到你第二個數字
您可以使用ast.literal_eval()將您的字符串轉換爲元組。這也會照顧到額外的空白,如'(123, 158)'
。
>>> from ast import literal_eval
>>> tup = literal_eval('(122,158)')
>>> tup[0]
122
>>> tup[1]
158
或者只是:
>>> first, second = literal_eval('(122,158)')
的簡單一個班輪將
a, b = (myString[1:-1].split(',')[0], myString[1:-1].split(',')[1])
擺脫了括號,然後分裂的逗號。
使用正則表達式https://docs.python.org/2/library/re.html –
在您的發佈代碼中,[[0]指的是第一個數字。所以只要'[1]'獲得第二個數字。 – spicypumpkin
這也打印括號。我只是想要數字。 –