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,709 questions

55,473 answers

573 users

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

1 Answer

0 votes
import Foundation

/*
    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
      - strong typing with Swift collections
      - fast numeric sorting with sorted()
*/

// ------------------------------------------------------------
// Extract all integer values from a mixed string.
// Uses Swift's modern Regex engine to find digit sequences.
// ------------------------------------------------------------
func extractNumbers(from text: String) -> [Int] {
    // Regex that matches one or more digits
    let pattern = #/\d+/#

    // Find all matches and convert them to integers
    return text.matches(of: pattern).compactMap { match in
        Int(match.0)
    }
}

// ------------------------------------------------------------
// Print all numbers in a space‑separated format.
// ------------------------------------------------------------
func printNumbers(_ numbers: [Int]) {
    print(numbers.map(String.init).joined(separator: " "))
}

// ------------------------------------------------------------
// Main 
// ------------------------------------------------------------
func main() {
    let text = "1000withz7 and3 or 99 give42"

    // extract numbers
    var numbers = extractNumbers(from: text)

    // sort numbers
    numbers = numbers.sorted()

    // display result
    print("Sorted numbers:", terminator: " ")
    printNumbers(numbers)
}

main()


/*
run:

Sorted numbers: 3 7 42 99 1000

*/

 



answered 1 day ago by avibootz
...