Retirar caracteres especificos de uma String

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", ""));

    }

Sugestão:

1 curtida

Consegui,

dei umas voltas a mais, mas deu certo, de qualquer forma Obrigado addller, sua lógica me deu uma luz.

Segue o codigo funcionando =)

public static void main(String[] args) {
Long teste = 2001306169L;
String primDigt = null;
String segDigt = null;
long sgDgtLng = 0;
String nStsgDgtStr = null;
String x= teste.toString();

            primDigt = x.substring(0, 1); 
            segDigt = x.substring(1, x.length());
            System.out.println("Antes: " + x);
            sgDgtLng = Long.parseLong(segDigt);
            nStsgDgtStr = Long.toString(sgDgtLng);
            x= primDigt + nStsgDgtStr;
            System.out.println("--");
            System.out.println("Depois: " + x);
       
}

Esse curso da XTI é demais… aprendi JAVA SE com essas video aulas

Minha base em java foi tudo video aula da XTI. Gostei muito.

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"));

1 curtida