123*_*ney 1 python string numbers truncate
如何删除字符串中第一个字母前的所有数字?例如,
myString = "32cl2"
Run Code Online (Sandbox Code Playgroud)
我希望它成为:
"cl2"
Run Code Online (Sandbox Code Playgroud)
我需要它工作任何长度的数字,所以2h2应该变成h2,4563nh3变成nh3等 编辑: 这个数字之间没有空格所以它与其他问题不一样,它特别是第一个数字,不是全部数字.
如果你在没有正则表达式的情况下解决它,你可以使用itertools.dropwhile():
>>> from itertools import dropwhile
>>>
>>> ''.join(dropwhile(str.isdigit, "32cl2"))
'cl2'
>>> ''.join(dropwhile(str.isdigit, "4563nh3"))
'nh3'
Run Code Online (Sandbox Code Playgroud)
或者,使用re.sub(),替换字符串开头的一个或多个数字:
>>> import re
>>> re.sub(r"^\d+", "", "32cl2")
'cl2'
>>> re.sub(r"^\d+", "", "4563nh3")
'nh3'
Run Code Online (Sandbox Code Playgroud)