gpt4 book ai didi

Python - 使用正则表达式将数字和字母拆分为子字符串

转载 作者:行者123 更新时间:2023-12-05 08:23:54 29 4
gpt4 key购买 nike

我正在创建一个公制测量转换器。用户需要输入一个表达式,例如 125km(一个数字后跟一个单位缩写)。对于转换,数值必须从缩写中分离出来,产生如 [125, 'km'] 的结果。我使用正则表达式 re.split 完成了此操作,但是它在结果列表中产生了不需要的项目:

import re
s = '125km'
print(re.split('(\d+)', s))

输出:

['', '125', 'km']

我不需要也不想要开头 ''。我怎样才能简单地将字符串的数字部分与字母部分分开,以使用正则表达式生成列表?

最佳答案

re.findall 有什么问题?

>>> s = '125km'
>>> re.findall(r'[A-Za-z]+|\d+', s)
['125', 'km']

[A-Za-z]+ 匹配一个或多个字母表。 |\d+ 一个或多个数字。

使用列表理解。

>>> [i for i in re.split(r'([A-Za-z]+)', s) if i]
['125', 'km']
>>> [i for i in re.split(r'(\d+)', s) if i]
['125', 'km']

关于Python - 使用正则表达式将数字和字母拆分为子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290492/

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