Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,683 questions

55,435 answers

573 users

How to extract and sort numbers from a string containing numbers and text in Python

1 Answer

0 votes
import re

"""
This program extracts all integer values from a mixed string
and sorts them using the language's built‑in sorting mechanism.

It demonstrates:
  - clear separation of concerns using functions
  - efficient number extraction using regular expressions
  - dynamic storage using lists
  - fast sorting with sorted()
"""

# ------------------------------------------------------------
# Extract all integer values from a mixed string.
# Uses a regular expression to find digit sequences.
# ------------------------------------------------------------
def extract_numbers(text: str) -> list[int]:
    # Find all sequences of digits in the string
    matches = re.findall(r"\d+", text)

    # Convert each match to an integer
    return [int(m) for m in matches]


# ------------------------------------------------------------
# Print all numbers in a space‑separated format.
# ------------------------------------------------------------
def print_numbers(numbers: list[int]) -> None:
    print(" ".join(str(n) for n in numbers))


# ------------------------------------------------------------
# Main 
# ------------------------------------------------------------
def main() -> None:
    text = "1000withz7 and3 or 99 give42"

    # extract numbers
    numbers = extract_numbers(text)

    # sort numbers
    numbers = sorted(numbers)

    # display result
    print("Sorted numbers:", end=" ")
    print_numbers(numbers)


if __name__ == "__main__":
    main()


"""
run:

Sorted numbers: 3 7 42 99 1000

"""

 



answered 7 hours ago by avibootz
edited 7 hours ago by avibootz
...