Python 3.x 我想用import re.txt找到最大的数字
我希望能够使用re模块搜索文本文件中的所有数字并找到最大数字。我需要在哪里编辑代码以实现此目标? random.txt的外观如下所示: DATQ15UXKNWMN5ZUQHD46J8WEF9RJAQ214TLJIQ8EKZVMDOPMBODD365MICKC67GGVQWBLQV2GOX3N5WC1VQ8C22LZ6SL3IP24不符合46G2219WLA07GP30PNVC8O3CB2D283L68MH86RH6GDNBN7KIXMDO4A84HUZ73905O3BLR71YCQF985JTZ544FRON32PM8N2N2YD7YD7JV9N9N9UZ9RZ7SOSM30PNV8V8V8V8V8V8V9N8V9N9N9N9N9N9N9N7Z7Z7Z7Z7Z7Z7Z7Z7Z7Z7Z7ZPython 3.x 我想用import re.txt找到最大的数字,python-3.x,import,text-files,Python 3.x,Import,Text Files,我希望能够使用re模块搜索文本文件中的所有数字并找到最大数字。我需要在哪里编辑代码以实现此目标? random.txt的外观如下所示: DATQ15UXKNWMN5ZUQHD46J8WEF9RJAQ214TLJIQ8EKZVMDOPMBODD365MICKC67GGVQWBLQV2GOX3N5WC1VQ8C22LZ6SL3IP24不符合46G2219WLA07GP30PNVC8O3CB2D283L68MH86RH6GDNBN7KIXMDO4A84HUZ73905O3BLR71YCQF985JTZ
import re
with open('content.txt', 'r',) as f:
contents = f.read()
number = 0
pattern = re.compile(r'\d')
matches = pattern.finditer('content.txt')
for match in matches:
n = int(match)
if saved <= n:
number = int(match)
print(number)
该文件只运行了一次,给了我答案0您正在content.txt字符串中查找匹配项,因此没有匹配项。此外,MatchObject无法转换为int: 进口稀土 打开'content.txt','r',作为f: contents=f.read 数字=0 pattern=re.compiler'\d+' matches=pattern.findTercontents 对于匹配中的匹配: n=intmatch.group0 如果数字试试这个
import re
with open('file1.txt', 'r') as f:
data = f.read()
list_of_numbers = re.findall(r'(?:[\d]+)',data)
list_of_numbers = map(int, list_of_numbers)
print(max(list_of_numbers))
输出:
你能展示一些示例文本吗?pattern.finditer'random.txt要详细介绍@jornsharpe,请尝试用pattern.finditercontents替换你的pattern.finditer'random.txt。
73905 # max number
your list_of_numbers look like this
['15', '5', '46', '8', '9', '214', '8', '365', '67', '2', '3', '3', '5', '1',
'8', '22', '6', '3', '24', '46', '2219', '07', '30', '8', '3', '2', '283', '68',
'86', '6', '7', '4', '84', '73905', '3', '71', '985', '54', '32', '8', '23', '7',
'9', '575', '9', '7', '0', '99', '2', '5', '33', '6', '76', '8']