为了账号安全,请及时绑定邮箱和手机立即绑定

如何将正则表达式提取的字符串转换为python中的整数?

如何将正则表达式提取的字符串转换为python中的整数?

一只名叫tom的猫 2021-08-24 19:06:22
我正在尝试将字符串转换为整数,但这并没有我想象的那么容易。content = '''<entry colname="1" morerows="1" morerowname="2"><p>111</p></entry><entry colname="2" rowname="2"><p></p></entry>'''morerows = ''.join(re.findall('morerows="\d"', content))morerows_n = int(''.join(re.findall('\d', morerows)))print(morerows_n)结果错误如下:morerows_n = int(''.join(re.findall('\d', morerows)))ValueError: invalid literal for int() with base 10: ''那个代码哪里错了?我试过 int() 函数但不起作用,它也不是浮动的。有什么帮助吗?
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

我猜在您的真实情况下,morerows 属性中有非整数字符。


How about this:


content = '''

<entry colname="1" morerows="1x" morerowname="2"><p>111</p></entry>

<entry colname="1" morerows="1" morerowname="2"><p>111</p></entry>

<entry colname="2" rowname="2"><p></p></entry>'''


morerows = ''.join(re.findall('morerows="[0-9]+"', content))

if morerows:

    morerows_n = int(''.join(re.findall('\d', morerows)))

print(morerows_n)

使用[0-9]+代替\d


查看完整回答
反对 回复 2021-08-24
  • 1 回答
  • 0 关注
  • 214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信