Open In App

Remove Leading Zeros From String in Java

Given a string of digits, remove leading zeros from it.

Illustrations: 



Input : 00000123569
Output: 123569

Input: 000012356090
Output: 12356090



Approach: We use the StringBuffer class as Strings are immutable.

Example:




// Java program to Remove leading/preceding
// zeros from a given String
 
// Importing required classes
import java.util.Arrays;
import java.util.List;
 
// Main class
// RemoveZero
class GFG {
 
    // Method 1
    // to Remove leading zeros in a string
    public static String removeZero(String str)
    {
 
        // Count leading zeros
 
        // Initially setting loop counter to 0
        int i = 0;
        while (i < str.length() && str.charAt(i) == '0')
            i++;
 
        // Converting string into StringBuffer object
        // as strings are immutable
        StringBuffer sb = new StringBuffer(str);
 
        // The StringBuffer replace function removes
        // i characters from given index (0 here)
        sb.replace(0, i, "");
 
        // Returning string after removing zeros
        return sb.toString();
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
 
        // Sample string input
        String str = "00000123569";
 
        // Calling method 1 to count leading zeroes
        // in above string
        str = removeZero(str);
 
        // Printing leading zeros inside string
        System.out.println(str);
    }
}

Output
123569

Time Complexity: O(n), where n is the length of the input string. This is because the program iterates through the input string once to count the leading zeroes and then again to remove them using the StringBuffer replace function. 
Auxiliary Space: O(n) , as the program creates a new StringBuffer object with the same length as the input string.

Approach : Using substring() method

Example:




// Java program to Remove leading/preceding
// zeros from a given String
 
// Importing required classes
import java.util.Arrays;
import java.util.List;
 
class GFG {
 
    public static void main(String[] args)
    {
 
        // Sample string input
        String str = "00000123569";
        String newstr = "";
        int ind = 0;
        for (int i = 0; i < str.length(); i++) {
            char p = str.charAt(i);
            if (p != '0') {
                ind = i;
                break;
            }
        }
        newstr = str.substring(ind, str.length());
        // Printing leading zeros inside string
        System.out.println(newstr);
    }
}

Output
123569

Time Complexity: O(n), where n is the length of the input string ‘str’. The algorithm performs a single loop through the length of the string to find the first non-zero character.
Auxiliary Space Complexity: O(n), where n is the length of the input string ‘str’. The algorithm requires a string variable ‘newstr’ to store the modified string without leading zeros.

 


Article Tags :