请问python中正则表达式re.search()出来的结果match.group()之后的数据是什么数据类型?

match=re.search(r'(\w+):(\d+)',file)match.group()name=match.group(1)salary=match.grou... match = re.search(r'(\w+): (\d+)', file)
match.group()
name = match.group(1)
salary = match.group(2)
print('%s的工资为%d' % (name, salary))
上面的代码,为什么最后一行的‘%d’不行?最后改为了print('%s的工资为%s' % (name, salary))就行了,可是我一开始提取出来的包括在re.search()那边的salary都一直是数字来的啊,为什么group之后就变成了字符串类型了呢?
求解答,谢谢!
展开
 我来答
sordking
2015-04-21 · TA获得超过552个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:192万
展开全部
正则表达式本来就是用于处理字符串的,处理后的结果自然也是字符串型
追问
那请问要怎么样才可以把输出的数字字符串转换为数字的数据类型呢?我直接用int()并不可以,不知道为什么,我是在一个循环里面的变量。谢谢你!
追答
用int应该可以的,估计你循环提取的salary有的不是纯数据字符串,那就不能int了,你先将salary都打印出来看看有没不是数据的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式