从一个字符串的开头删除一个数字的最惯用的方法是什么?

2024-04-16 12:19:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有各种各样的弦

123_dog2_fish56_cat45_cat_fish

总有一个数字。总是在数字后面加一个“\”。你知道吗

我需要删除数字和下划线。我可以使用regex,但我想知道是否有一些pythonic方法使用内置方法?你知道吗

(我是一个有经验的程序员,但对Python还不熟悉。)


Tags: 方法数字经验pythonic内置regexcat程序员
3条回答

另一种方法是:

s = "45_cat_fish"
print ''.join(c for c in s if c.isalpha() or c == '_')[1:]

给出cat_fish

假设数字后面始终有下划线,并且始终只有一个数字,则可以执行以下操作:

s = '45_cat_fish'
print s.split('_', 1)[1]
# >>> cat_fish

split的参数指定要执行的最大拆分数。你知道吗

使用拆分和联接:

>>> a="45_cat_fish"
>>> '_'.join(a.split('_')[1:])
'cat_fish'

编辑:split可以采用maxsplit参数(参见YS-L答案),因此'_'.join是不必要的,a.split('_',1)[1]


使用find

>>> a[a.find('_')+1:]
'cat_fish'

相关问题 更多 >