gpt4 book ai didi

python - 根据数字字符拆分字符串的正则表达式模式

转载 作者:行者123 更新时间:2023-11-28 22:55:38 24 4
gpt4 key购买 nike

我想要一个正则表达式模式,根据其中存在的数字拆分字符串

50cushions => [50,cushions]
30peoplerescued20children => [30,peoplerescued,20,children]
moon25flightin2days => [moon,25,flightin,2,days]

是否可以使用正则表达式来执行此操作,或者最好的方法是什么?

最佳答案

>>> re.findall(r'\d+|\D+', '50cushions')
['50', 'cushions']
>>> re.findall(r'\d+|\D+', '30peoplerescued20children')
['30', 'peoplerescued', '20', 'children']
>>> re.findall(r'\d+|\D+', 'moon25flightin2days')
['moon', '25', 'flightin', '2', 'days']

其中 \d+ 匹配一位或多位数字,\D+ 匹配一位或多位非数字。 \d+|\D+ 将找到 (|) 一组数字或非数字,并将结果附加到匹配列表中。

或者使用 itertools

>>> from itertools import groupby
>>> [''.join(g) for k, g in groupby('moon25flightin2days', key=str.isdigit)]
['moon', '25', 'flightin', '2', 'days']

关于python - 根据数字字符拆分字符串的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com