我正在尝试将字符串转换为整数,但这并没有我想象的那么容易。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
添加回答
举报
0/150
提交
取消