gpt4 book ai didi

python - 按条件从字符串中提取数字

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

我想从一个短字符串中提取数字,条件是数字在字符前面(S 标志)。

例子和结果:

> string = '10M26S'
> 26

> string = '18S8M10S'
> [18,10] OR 28

> string = '7S29M'
> 7

我可以将字符串拆分为列表以获取单个元素,

result = [''.join(g) for _, g in groupby('18S8M10S', str.isalpha)]
> ['18', 'S', '8', 'M', '10', 'S']

但是我怎样才能得到 1810

最佳答案

使用re.findall使用正则表达式 r'(\d+)S'。这匹配大写 S 之前的所有数字。

>>> string = '10M26S'
>>> re.findall(r'(\d+)S',string)
['26']
>>> string = '18S8M10S'
>>> re.findall(r'(\d+)S',string)
['18', '10']
>>> string = '7S29M'
>>> re.findall(r'(\d+)S',string)
['7']

要获得整数输出,您可以在列表 comp 中转换它们或使用 map

>>> list(map(int,['18', '10']))
[18, 10]

关于python - 按条件从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35408788/

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