# Move all digits to the beginning of a given string

• Last Updated : 03 Jun, 2021

Given a string S, the task is to move all the digits present in the string, to the beginning of the string.

Examples:

Input: S = “Geeks4forGeeks123”
Output: 4123GeeksforGeeks
Explanation:
The given string contains digits 4, 1, 2, and 3. Moving all the digits to the beginning of the string modifies the string to “4123GeeksforGeeks”.

Input: S = “GeeksforGeeks1234 A Com56puter Science Port7al”
Output: 1234567GeeksforGeeks A Computer Science Portal

Approach: The idea is to traverse the string and maintain two strings, one string contains the digits and another string contains non-numeric characters. In the end, append both the strings to the result in the required order.

Below is the implementation of the above approach:

## Java

 // Java program for the above approach class GFG {     // Function to move all the digit    // to the beginning of the string    static void moveAllDigitAtBeginning(        String str)    {        // Calculate the string length        int len = str.length();         // Stores the digits        StringBuilder digits            = new StringBuilder();         // Stores the non-numeric character        StringBuilder nonNumericCharacter            = new StringBuilder();         // Traverse the string and        // check if there is a digit        for (char c : str.toCharArray()) {             // If character is a digit,            // add it to the string digits            if (c >= 48 && c <= 57) {                digits.append(c);            }             // Otherwise, add it to the            // string nonNumericCharacter            else {                nonNumericCharacter.append(c);            }        }         // Append both the strings        digits.append(            nonNumericCharacter.toString());         // Print the string        System.out.print(            digits.toString() + " ");    }     // Driver Code    public static void main(String args[])    {        // Given String str        String str            = "GeeksforGeeks123";        moveAllDigitAtBeginning(str);    }}

## Javascript


Output:
123GeeksforGeeks

Time Complexity: O(N)
Auxiliary Space: O(1)

Regular Expression based Approach: The given problem can also be solved using Regular Expression and replace all non-numeric characters with the empty string (“ “) that give you all numbers and replace all digits with the empty string (“ “) that gives you all non-numeric characters. In the end, concatenate the string and print the result.

Below is the implementation of the above approach:

## Java

 // Java program for the above approach class GFG {     // Function to move all the digit    // at the beginning of the string    static void moveAllDigitAtBeginning(        String str)    {        // Replace all the non-numeric        // characters with " " and        // replace all digits with " "        String moveAllDigit = str.replaceAll("\\D+", "")                              + str.replaceAll("\\d+", "");         // Print the string        System.out.println(moveAllDigit);    }     // Driver Code    public static void main(String args[])    {        // Given String str        String str            = "GeeksforGeeks1234";        moveAllDigitAtBeginning(str);    }}

## C#

 // C# program for the above approachusing System;using System.Text.RegularExpressions;public class GFG{     // Function to move all the digit    // at the beginning of the string    static void moveAllDigitAtBeginning(        String str)    {               // Replace all the non-numeric        // characters with " " and        // replace all digits with " "        String moveAllDigit = Regex.Replace(str, "\\D+", "")            +Regex.Replace(str, "\\d", "");               // Print the string        Console.WriteLine(moveAllDigit);    }     // Driver Code    public static void Main(String []args)    {               // Given String str        String str            = "GeeksforGeeks1234";        moveAllDigitAtBeginning(str);    }} // This code is contributed by 29AjayKumar
Output:
1234GeeksforGeeks

Time Complexity: O(N)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up