Using Regular Expressions (regex)
String str = "00938";
System.out.println("*" + str.replaceFirst("^0+", "") + "*"); //*938*
Suppose the string contains only zeroes, then the output will be a null string.
String str = "0000000";
System.out.println("*" + str.replaceFirst("^0+", "") + "*"); //**
If you want a zero to remain in the above case use another form -
String str = "0000000";
System.out.println("*" + str.replaceFirst("^0+(?!$)", "") + "*"); //*0*
The negative lookahead (?!$)
ensures that the entire string is not matched with the regular expression ^0+
.
The anchor ^
makes sure that the beginning of the input is matched. 0+
denotes zero or more zeroes (0s).