首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用regex从文本文件中提取字符串的和

使用regex从文本文件中提取字符串的和
EN

Stack Overflow用户
提问于 2015-12-09 06:23:21
回答 10查看 11K关注 0票数 4

我只是在学习python,需要一些帮助来完成我的课堂作业。

我有一个文件,里面有文字和数字。有些行有一个到三个数字,而另一些则根本没有数字。

我需要:

  1. 仅使用regex从文件中提取数字。
  2. 找出所有数字的和

我用regex提取出所有的数字。我试图得到所有数字的总和,但我只是得到每一行有数字的总和。我一直在努力用不同的方法来完成这个任务,这是我最接近完成任务的方法。

我知道我错过了一些关键的部分,但我不知道我做错了什么。

这是我的代码:

代码语言:javascript
运行
复制
import re
text = open('text_numbers.txt')

for line in text:
    line = line.strip()
    y = re.findall('([0-9]+)',line)

    if len(y) > 0:
        print sum(map(int, y))

我得到的结果是这样的(每个都是一行的和):

14151 八一七 16997 18305 三八六六

它需要像这样的总和(所有数字的总和):

134058

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2015-12-09 06:29:29

代码语言:javascript
运行
复制
import re
import np
text = open('text_numbers.txt')
final = []
for line in text:
    line = line.strip()
    y = re.findall('([0-9]+)',line)

    if len(y) > 0:
         lineVal = sum(map(int, y))
         final.append(lineVal)
         print "line sum = {0}".format(lineVal)
 print "Final sum = {0}".format(np.sum(final))

这就是你要找的吗?

票数 2
EN

Stack Overflow用户

发布于 2016-01-11 20:34:18

我不太懂蟒蛇,但我可以给出一个简单的解决方案。尝尝这个

代码语言:javascript
运行
复制
import re
hand = open('text_numbers.txt')
x=list()
for line in hand:
    y=re.findall('[0-9]+',line)
    x=x+y
sum=0
for i in x:
    sum=sum + int(i)
print sum
票数 2
EN

Stack Overflow用户

发布于 2016-06-28 02:33:07

我第一次尝试用正则表达式来回答这个问题,我发现这是一个很好的练习技巧,那就是阅读别人的代码。

代码语言:javascript
运行
复制
import re # import regular expressions
chuck_text = open("regex_sum_286723.txt")
numbers = []
Total = 0
for line in chuck_text:
    nmbrs = re.findall('[0-9]+', line)
    numbers = numbers + nmbrs 
for n in numbers:
    Total = Total + float(n)
print "Total = ", Total 

并感谢啤酒的“理解清单”一句,虽然他的“r”似乎不需要,但不知道它能做什么。但是它读起来很漂亮,我更困惑地读了两个像我的答案一样的循环。

代码语言:javascript
运行
复制
import re
print sum([int(i) for i in re.findall('[0-9]+',open("regex_sum_286723.txt").read())])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34172038

复制
相关文章

相似问题

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