【问题标题】:I want to find the highest number using import re .txt我想使用 import re .txt 找到最大的数字
【发布时间】:2019-07-03 14:58:35
【问题描述】:

我希望能够使用 re 模块搜索文本文件中的所有数字并找到最大数字。我需要在哪里编辑我的代码来实现这个目标? random.txt 看起来像下面这样: Datq15UxkNwMN5zUQhd46J8WeF9RjAq214TlJiQ8EkZvmdOpmBOdd365mICKC67GGvqwbLqV2Gox3n3E5WC1Vq8C22lZ6sL3Ip24untQyw46g2219WlA07GP30PNvc8o3hCb2d283l68mh86RH6gDNbN7kIXmdO4a84hUz73905o3BlR71YCQF985JTz54FRoN32pM8N23YcYd7jv9Ys575UzaH9RZ7sosMdeqnTgnVt0bH99b2P5ilvJ33QaJ6G76VU8vPN P>

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

【问题讨论】:

  • 你能展示一些示例文本吗?
  • pattern.finditer('random.txt') "random.txt"中有哪些数字\d
  • 要详细说明@jonrsharpe,请尝试将您的pattern.finditer('random.txt') 替换为pattern.finditer(contents)

标签: python-3.x import text-files


【解决方案1】:

试试这个,

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))

输出:

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']

【讨论】:

    【解决方案2】:

    您正在“content.txt”字符串中查找匹配项,因此没有匹配项。 MatchObject 也不能转换为 int:

    import re
    with open('content.txt', 'r',) as f:
        contents = f.read()
    
        number = 0
        pattern = re.compile(r'\d+')
        matches = pattern.finditer(contents)
        for match in matches:
            n = int(match.group(0))
            if number <= n:
                number = int(match.group(0))
        print(number)
    

    【讨论】:

      猜你喜欢
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2022-12-10
      相关资源
      最近更新 更多