Problema ao tratar String

6 respostas
P

Boa tarde pessoal...
Me deparei com um problema ao tratar uma string q é o seguinte...

Eu queria tirar os zeros à esquerda da string e substiuí-los por " "(espaços) para mante-los alinhados quando eu forem impressos...
mas não pude utilizar o método replaceAll(String,String) pois não posso substuir os outros zeros da String.
pesquisei no javadoc e encontrei o metodo replaceData(int,int,String)
tentei usa-lo assim

EXEMPLO:.

String valor = "00024670";


for(int x=0;x<valor.length();x++){

if(valor.startsWith("0"))
{
valor = valor.replaceData(x,x+1," ");
}else{
break;
}

}

mas não fuincionou....
apareceu o seguinte erro:cannot resolve symbol
cheguei à concluão que eu não estava fazendo o import certo....
fiz (java.lang.String) e mesmo assim não fuincionou...

alguem conseguem me apontar o erro??
ou ate me mostrar outra alternativa???
agradeço desde ja a atenção dispensada...grato, Paulo

6 Respostas

foia

String.replaceData ?! existe ?! o que você quer fazer ?

x não está “inicializado”. faça:

for ( int x=0; x < valor.length(); x++ )
RRaminelli

Converte o valor para int:

String valor = “00000123”;
int valor_ = Integer.parseInt(valor);

P

bom, inicializei x…isso tava errado msm… mas o antigo erro persiste…
quanto alterar pra int, qual seria a utilidade???

o objetivo é alternar os zero à esquerda para espaços em branco…

o metodo replaceData(int,int,String):

1º e 2º int => referente aos espaços na string que serão mudados e o String se refere ao caracter q será posto no lugar…acho…

ja estou procurando outros metodos d fazer isso…esse eu num to botando mta fé

foia

este parece ser um caso para DecimalFormat !! . segue o link:

http://www.javaalmanac.com/egs/java.text/FormatNum.html

RRaminelli

Testei e parece que resolve o seu problema.

String valor = "[telefone removido]";
        int tmp = 0;
        int valor_ = Integer.parseInt(valor);
        String str = "";
        
        for(int x=0;x<valor.length();x++){
            if(valor.substring(x).startsWith("0"))
                tmp ++;
            else
                break;
        }
        for(int x=0; x><tmp;x++){
            str += " ";
        }
        
        System.out.println(str+valor_);
>
P

AAAHHH…resolve sim…

é isso aí, veio…Muitsíssimo obrigado…
depois te pago uma cerveja!!! eheheh
flw… :smiley:

Criado 29 de julho de 2005
Ultima resposta 29 de jul. de 2005
Respostas 6
Participantes 3