我在解析出包含字母和數字的字符串並獲取列表時遇到了問題。例如:Python - 用字母和數字解析字符串不被阻塞在一起
>>> s = '105Bii2016'
>>> foo(s)
['105', 'Bii', '2016']
現在我只能這樣做,如果數字是一起:
def foo(s):
num, letter = '', ''
for i in s:
if i.isdigit():
num += i
else:
letter += i
return [letter, num]
而當我把這個:
>>> s = '1234gdfh1234'
>>> foo(s)
['gdfh', '12341234']
什麼是你想要的結果? – 2013-05-01 02:17:49
'print re.split(「[a-zA-Z]」,s)' – 2013-05-01 02:18:31
@JoranBeasley - 我想你需要一些捕捉括號。也許更容易的是're.split(r'(\ d +)',s)'。當然,這兩種都假定字符串以字符或數字開頭,如果猜錯了,您會在列表的開頭(或結尾)得到空字符串,這意味着您可能需要過濾它。 – mgilson 2013-05-01 02:22:34