import re def str_to_single_int(line: str) -> int: line = line.replace(" ", "") r = re.compile(r"\d+") for m in r.findall(line): return int(m) raise Exception("No single digit sequence in '{line}'") def str_to_int_list(line: str) -> list[int]: r = re.compile(r"\d+") return list(map(int, r.findall(line))) def str_to_lines_no_empty(text: str) -> list[str]: return list(filter(lambda l: l.strip() != "", text.splitlines())) def str_to_lines(text: str) -> list[str]: return list(text.splitlines())