首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用python中任意数字读取字符串中的数字

用python中任意数字读取字符串中的数字
EN

Stack Overflow用户
提问于 2014-03-18 00:38:06
回答 5查看 75关注 0票数 1

我很难解析我的字符串。这是我的密码:

代码语言:javascript
运行
复制
name='report 11 hits'
print(name[7:9])
print(name[11:])

产出:

代码语言:javascript
运行
复制
11
hits

但是,如果我需要将字符串键入为

代码语言:javascript
运行
复制
name='report 112 hits'
print(name[7:9])
print(name[10:])

产出:

代码语言:javascript
运行
复制
11
 hits

这意味着,每当我输入一个超过三位数的数字时,程序就会读得不好。我想知道是否有人能写我如何修改我的代码,这样,无论我写什么数字,程序将正确地读取它。谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-03-18 00:40:31

您可以使用split(),然后打印生成列表的第二个元素:

代码语言:javascript
运行
复制
name='report 112 hits'
namelist = name.split()
print(namelist[0])
# report
print(namelist[1])
# 112
print(namelist[2])
# hits
票数 2
EN

Stack Overflow用户

发布于 2014-03-18 00:40:29

代码语言:javascript
运行
复制
name='report 112 hits'
import re
print re.search(r'\d+', name).group()
# 112

但是,如果您确实知道数字将是字符串中的第二个元素,由空格分隔,那么您可以这样做。

代码语言:javascript
运行
复制
print name.split(None, 2)[1]
# 112

这种分割将是有效的,因为我们限制最大分裂为2。

票数 1
EN

Stack Overflow用户

发布于 2014-03-18 00:40:42

假设总有空位:

代码语言:javascript
运行
复制
_, count, hits = name.split(" ")
print(count)
print(hits)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22468257

复制
相关文章

相似问题

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