我有一堆字符串:
"10people"
"5cars"
..
Run Code Online (Sandbox Code Playgroud)
我怎么把它拆分成?
['10','people']
['5','cars']
Run Code Online (Sandbox Code Playgroud)
它可以是任意数量的数字和文本.
我正在考虑编写某种正则表达式 - 但是我确信在Python中有一种简单的方法.
使用正则表达式(\d+)([a-zA-Z]+).
import re
a = ["10people", "5cars"]
[re.match('^(\\d+)([a-zA-Z]+)$', x).groups() for x in a]
Run Code Online (Sandbox Code Playgroud)
结果:
[('10', 'people'), ('5', 'cars')]
Run Code Online (Sandbox Code Playgroud)
>>> re.findall('(\d+|[a-zA-Z]+)', '12fgsdfg234jhfq35rjg')
['12', 'fgsdfg', '234', 'jhfq', '35', 'rjg']
Run Code Online (Sandbox Code Playgroud)