Por gentileza, poderiam me auxiliar, preciso criar um metodo que receba o codigo em string (abaixo) e retire, caso haja, os zeros após o primeiro numero inteiro>0 até o proximo numero inteiro>0.
Exemplo:
102305 = tem de se tornar 12305
10052033 = tem de se tornar 152033 (retira apenas os zeros após o 1 até chegar no proximo valor >0.
public class TestaStringss {
public static void main(String[] args) {
Long teste = (long) 1001306169;
String x = teste.toString();
String temp = "";
// Metodo que preciso para fazer o numero acima se tornar 11306169.
System.out.println("x: " + x + " - " + "Temp: " + temp);
}
}
Agradeço muito o auxilio e que a força esteja com todos.
public static void main(String[] args) {
Long teste = 2001306169L;
String x = teste.toString();
for (int i = 0; i < x.length(); i++) {
if (x.charAt(i) == '1') {
x = x.substring(0, i) + x.substring(i, x.length()).replaceAll("0", "");
}
}
// Metodo que preciso para fazer o numero acima se tornar 11306169.
System.out.println("Só remove o 0 após encontrar o primeiro 1 - [" +teste +"] -> ["+ x+"]");
System.out.println("Alternativa: remove qualquer 0: "+teste.toString().replaceAll("0", ""));
}
Faz desta forma, pois tem menos linhas de código:
Long num = 2001306169l; System.out.println(num.toString().replaceAll("([1-9])+0*([1-9]\\d*)", "$1$2"));