正则表达式分离数字和字母
我有一堆字符串:
"10people"
"5cars"
..
我该怎么把它们分开呢?
['10','people']
['5','cars']
这些字符串里面可以有任意数量的数字和文字。
我在考虑写一些正则表达式,不过我相信在Python里有更简单的方法可以做到这一点。
7 个回答
3
在编程中,有时候我们需要处理一些数据,比如从一个地方获取信息,然后在另一个地方使用这些信息。这个过程就像是把水从一个桶倒到另一个桶一样。
有些时候,我们会遇到一些问题,比如数据的格式不对,或者我们需要在处理数据时做一些额外的操作。这就像是你在倒水的时候,发现水管堵了,或者需要加热水才能使用。
为了避免这些问题,程序员通常会写一些代码来检查数据是否正确,或者在处理数据之前先进行一些准备工作。这样可以确保最终得到的结果是我们想要的。
总之,处理数据就像是一个精细的过程,需要我们仔细检查每一步,以确保一切顺利进行。
>>> re.findall("\d+|[a-zA-Z]+","10people")
['10', 'people']
>>> re.findall("\d+|[a-zA-Z]+","10people5cars")
['10', 'people', '5', 'cars']
8
使用这个正则表达式 (\d+)([a-zA-Z]+)
。
import re
a = ["10people", "5cars"]
[re.match('^(\\d+)([a-zA-Z]+)$', x).groups() for x in a]
结果:
[('10', 'people'), ('5', 'cars')]
8
在编程中,我们常常会遇到一些问题,尤其是当我们在使用某些工具或库的时候。有时候,文档可能写得不够清楚,导致我们不知道该怎么做。这个时候,StackOverflow 就成了一个很好的资源,很多人会在这里提问和回答问题。
比如说,有人可能会问:“我在使用某个库的时候,遇到了错误,应该怎么解决?”其他人就会根据自己的经验,给出一些建议,比如检查代码、更新库的版本,或者查看相关文档。
总之,StackOverflow 是一个互帮互助的地方,大家可以在这里分享自己的问题和解决方案,帮助彼此更好地学习编程。
>>> re.findall('(\d+|[a-zA-Z]+)', '12fgsdfg234jhfq35rjg')
['12', 'fgsdfg', '234', 'jhfq', '35', 'rjg']