Skip to main content
 首页 » 编程设计

python之基于 python 中字母数字字符串中的 a-z 字符拆分

2025年05月04日19dudu

我有像“5d4h2s”这样的字符串,我想从该字符串中得到 5、4 和 2,但我还想知道 5 与 d 配对,4 与 h 配对,等等。有没有一种简单的方法可以做到这一点而无需逐个字符地解析?

请您参考如下方法:

如果您的输入没有比 5d4h2s 更复杂:

>>> import re 
>>> s = "5d4h2s" 
>>> p = re.compile("([0-9])([a-z])") 
>>> for m in p.findall(s): 
...   print m 
...  
('5', 'd') 
('4', 'h') 
('2', 's') 

如果成功,您可以轻松调整正则表达式,例如

>>> p = re.compile("([0-9]*)([a-z])") 

接受如下输入:

>>> s = "5d14h2s" 

最后,您可以将正则表达式压缩为:

>>> p = re.compile("([\d]+)([dhms])")