Skip to main content
 首页 » 编程设计

python之如何提取字符串中的第一个数字之Python

2025年05月04日22think

如何删除字符串中第一个字母之前的所有数字?例如,

myString = "32cl2" 

我希望它变成:

"cl2" 

我需要它适用于任何长度的数字,所以 2h2 应该变成 h2,4563nh3 变成 nh3 等等。 编辑: 这个问题的数字之间没有空格,所以它与另一个问题不同,它特别是第一个数字,而不是所有数字。

请您参考如下方法:

如果你不使用正则表达式来解决它,你可以使用 itertools.dropwhile() :

>>> from itertools import dropwhile 
>>> 
>>> ''.join(dropwhile(str.isdigit, "32cl2")) 
'cl2' 
>>> ''.join(dropwhile(str.isdigit, "4563nh3")) 
'nh3' 

或者,使用 re.sub() 替换字符串开头的一个或多个数字:

>>> import re 
>>> re.sub(r"^\d+", "", "32cl2") 
'cl2' 
>>> re.sub(r"^\d+", "", "4563nh3") 
'nh3'