首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中如何判断字符串是否以数字开头?

在Python中如何判断字符串是否以数字开头?
EN

Stack Overflow用户
提问于 2011-04-07 15:33:49
回答 11查看 131.2K关注 0票数 113

我有一个以数字(从0到9)开头的字符串,我知道我可以使用startswith()“或”10个测试用例,但可能有一个更简洁的解决方案

因此,与其写

代码语言:javascript
复制
if (string.startswith('0') || string.startswith('2') ||
    string.startswith('3') || string.startswith('4') ||
    string.startswith('5') || string.startswith('6') ||
    string.startswith('7') || string.startswith('8') ||
    string.startswith('9')):
    #do something

有没有更聪明/更有效的方法?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-04-07 15:37:04

Python的string库有isdigit()方法:

代码语言:javascript
复制
string[0].isdigit()
票数 204
EN

Stack Overflow用户

发布于 2011-04-07 15:37:04

代码语言:javascript
复制
>>> string = '1abc'
>>> string[0].isdigit()
True
票数 27
EN

Stack Overflow用户

发布于 2019-08-09 22:11:11

令人惊讶的是,在这么长的时间之后,仍然没有最好的答案。

其他答案的缺点是使用[0]选择第一个字符,但如前所述,这会在空字符串上中断。

使用下面的代码避免了这个问题,在我看来,它给出了我们所拥有的选项中最漂亮和最易读的语法。它也不会导入/困扰正则表达式):

代码语言:javascript
复制
>>> string = '1abc'
>>> string[:1].isdigit()
True

>>> string = ''
>>> string[:1].isdigit()
False
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5577501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档