Duvida metodo Replace removendo zeros

5 respostas
ambuzr

Tenho esse codigo

String s = "00100202033555332221100100".replace('0',' ').trim().replace(' ','0'); System.out.print(s);

que retorna

1002020335553322211001

porem queria que removesse apenas os zeros da esquerda ficando assim

100202033555332221100100

alguem sabe?

5 Respostas

dionat4n

Pode fazer:

String s = "00100202033555332221100100"; while (s.startsWith("0") ) { s = s.replaceFirst("0", ""); }

O mais certo é fazer com StringBuffer ou StringBuilder quando a string se altera diversas vezes, veja na documentação do java.

Allan_BSO

Ficou meio grandinho... mas da uma analisada na parte que mais interessa. RETIRAR ZEROS.
USEI UM MÉTODO STATICO QUE COLOCA UM NÚMERO ALEATÓRIO DE ZEROS NA FRENTE DA STRING E DEPOIS NO MÉTODO MAIN RETIRAM-SE OS MESMOS. CHECK IT OUT !!!!!!! 8)

// gera números aleatorios
import java.util.Random;

// le caracteres
import javax.swing.JOptionPane;

public class RemoverZeros {
	public static void main(String[] args){
	
		final char zero='0';
		int qtdDeZeros=0;
		
		String stringSemZeros = JOptionPane.showInputDialog("Digite quarquer CARACTER ou NUMERO: ");
		String stringComZeros = concatenarZerosAleatoriamente(stringSemZeros);
		
		
		//*********************************************************************************
		//PARTE QUE INTERESSA!!!! REMOVER ZEROS. RS
		// verifica qtos zeros na frente a string tem.
		for (int i=0; i<stringComZeros.length();i++){
			if (stringComZeros.charAt(i) == zero){
				qtdDeZeros = i+1;
			}else{
				break;
			}
		}
		// pega soh a parte da string que interessa.
		String novaStringSemZeros = stringComZeros.substring(qtdDeZeros);
		// FIM DE PARTE QUE MAIS INTERRESSA. O RESTO SOH EH INTERESSANTE ANALIZAR. RS
		//*********************************************************************************
		
		
		// Exibindo Valores:
		JOptionPane.showMessageDialog(null, "1º String DIGITADA: " + stringSemZeros + "\n" +
				"2º String com zeros concatenados: " + stringComZeros + "\n"+
				"3º Nova String sem zeros NA FRENTE: " + novaStringSemZeros);
	}
	
	
	// metodo statico para definir aleatoriamente quanto zeros ficarao na String;
	public static String concatenarZerosAleatoriamente(String stringSemZeros){
		
		int qtdZeros;
		String strZeros="";
		Random numeroDeZerosNaFrente = new Random();
		
		// define Random para definir um numero de zeros na frente de 1 â 10.
		qtdZeros = numeroDeZerosNaFrente.nextInt(10)+1;
		
		// criando Strings com os zeros
		for(int i=1; i<qtdZeros;i++){
			strZeros+="0";
		}
		
		String stringComZeros = strZeros+stringSemZeros;
		
		// retorna string com zeros
		return stringComZeros;
		
	}
	
}

qualquer dúvida, posta ai!

abraços!!!
:wink:

daBahia

Usei o seguinte codigo.

String t = 000630;

String.format("%01d", new Long (t))

o retorno é 630

B
string = string.replaceAll("^0+", "");
Lavieri
string = (new BigInteger(string)).toString();

simples assim ^^

Criado 15 de junho de 2008
Ultima resposta 23 de mar. de 2009
Respostas 5
Participantes 6