您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 加入正则表达式搜索的输出

5b51 2022/1/14 8:21:30 python 字数 2183 阅读 493 来源 www.jb51.cc/python

>我有一个在文件中查找数字的正则表达式.>我把结果放在一个列表中问题是它为每个找到的单个数字在新行上打印每个结果.它也忽略了我创建的列表.我想要做的是将所有数字放在一个列表中.我使用了join()但它不起作用.代码:def readfile(): regex = re.compile('\d+') for num in regex.fin

概述

>我有一个文件中查找数字的正则表达式.
>我把结果放在一个列表中

问题是它为每个找到的单个数字在新行上打印每个结果.它也忽略了我创建的列表.

我想要做的是将所有数字放在一个列表中.
我使用了join()但它不起作用.

代码

def readfile():
    regex = re.compile('\d+')
for num in regex.findall(open('/path/to/file').read()):
    lst = [num]
    jn = ''.join(lst)    
    print(jn)

输出

122
34
764

这就是你看到这个问题的原因.

你可以尝试这样的事情.

numbers.txt

Xy10Ab
Tiger20
Beta30Man
56
My45one

statements:

>>> import re
>>>
>>> regex = re.compile(r'\d+')
>>> lst = []
>>>
>>> for num in regex.findall(open('numbers.txt').read()):
...     lst.append(num)
...
>>> lst
['10','20','30','56','45']
>>>
>>> jn = ''.join(lst)
>>>
>>> jn
'1020305645'
>>>
>>> jn2 = '\n'.join(lst)
>>> jn2
'10\n20\n30\n56\n45'
>>>
>>> print(jn2)
10
20
30
56
45
>>>
>>> nums = [int(n) for n in lst]
>>> nums
[10,20,30,56,45]
>>>
>>> sum(nums)
161
>>>

总结

以上是编程之家为你收集整理的python – 加入正则表达式搜索的输出全部内容,希望文章能够帮你解决python – 加入正则表达式搜索的输出所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶