使用Python在字符串中的字符之前提取数字

我正在尝试提取一系列字符串中字符“ M”之前的数字。字符串可能看起来像:

"107S33M15H"

"33M100S"

"12M100H33M"

因此基本上会有一组由不同字符分隔的数字,“ M”可能会出现多次。对于此处的示例,我希望我的代码返回:

33

33

12,33 #doesn't matter what deliminator to use here

我可以想到的一种方法是将字符串除以“ M”,然后找到纯数字的项目,但是我怀疑还有更好的方法来实现。非常感谢您的帮助。

回答:

您可以使用一个简单的(\d+)M正则表达式( _1个以上的数字,然后是M_将这些数字捕获到捕获组中)re.findall

请参阅IDEONE演示:

import re

s = "107S33M15H\n33M100S\n12M100H33M"

print(re.findall(r"(\d+)M", s))

这是一个正则表达式演示

以上是 使用Python在字符串中的字符之前提取数字 的全部内容, 来源链接: utcz.com/qa/419856.html

回到顶部