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

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,970 questions

51,912 answers

573 users

How to sort a string with digits and letters (letters before digits) in Rust

1 Answer

0 votes
use std::cmp::Ordering;

fn custom_sort(input: &str) -> String {
    let mut chars: Vec<char> = input.chars().collect();

    chars.sort_by(|&a, &b| {
        if a.is_alphabetic() && b.is_digit(10) {
            return Ordering::Less; // Letters before digits
        }
        if a.is_digit(10) && b.is_alphabetic() {
            return Ordering::Greater; // Digits after letters
        }

        a.cmp(&b)
    });

    chars.iter().collect()
}

fn main() {
    let input = "d2a4b3c1";
    let sorted_input = custom_sort(input);

    println!("Custom sorted string: {}", sorted_input);
}

  
   
/*
run:
   
Custom sorted string: abcd1234
   
*/

 

 



answered May 26, 2025 by avibootz
edited May 27, 2025 by avibootz
...