Sobes.tech
Middle

Jak najít v řetězci největší celé číslo bez použití regulárních výrazů v Pythonu?

sobes.tech AI

Odpověď od AI

Pro nalezení maximálního celého čísla v řetězci bez použití regulárních výrazů můžete projít znaky řetězce, identifikovat sekvence číslic, převést je na čísla a sledovat to největší.

Příklad v Pythonu:

def max_integer_in_string(s):
    max_num = None
    current_num = ''
    for ch in s:
        if ch.isdigit():
            current_num += ch
        else:
            if current_num:
                num = int(current_num)
                if max_num is None or num > max_num:
                    max_num = num
                current_num = ''
    # Kontrola po cyklu, pokud řetězec končí číslem
    if current_num:
        num = int(current_num)
        if max_num is None or num > max_num:
            max_num = num
    return max_num

# Příklad použití
s = "abc123def45gh6789"
print(max_integer_in_string(s))  # Vypíše 6789