我正在解析一些文本,并尝试从文本中检索所有数字,然后收集它们的总和。我使用了正则表达式re.findall([0-9]+)
并成功检索了数字,但是无法将所有检索到的数字转换为整数。下面的代码返回一个不正确的总和,因为它只会添加文本每行中出现的第一个数字。以下是完整的代码。
import re
fname=raw_input('Whats up?')
fh=open(fname, 'r')
y=list()
count=0
for line in fh:
y=re.findall('[0-9]+', line)
inp=list(y)
if y == []:
continue
count=count+int(y[0])
print count
答案 0 :(得分:1)
它只会因为您的要求而添加每行的第一个数字。我假设你在一行中有多个数字。
y = re.findall(' [0-9] +',line)< - 解析并返回该行中所有数字的列表。
您需要的是另一个循环来总结该列表中的所有值。
替换count = count + int(y [0])
带
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?your-domain\.com$
RewriteRule ^admin/(.*) http://admin.your-domain.com/$1 [R=301,L]
或
for yy in y:
count = count + int(yy)
你应该能够看到正确的总和。