Substituição de caracteres dentro da string diinamicâmente

6 respostas
Yunki

Galera como é q eu faço pra substituir dentro de uma string caracteres tipo:

String aux = “Pagina0001”
int pag = 214;

Aqui q o bicho tá pegando:

aux = "Pagina"  + Integer.toString(pag);

  Preciso q a string aux receba o mesmo conteudo substituido apenas 0001 por 0214 , ai ficaria assim :
 
aux = "Pagina0214"  -----> notem q o zero precisa continuar, pois o número q virar é dinamico em tempo de execução, mas sempre é de 4 algoritimos exempo se fosse 33 ficaria:

pag = 33;
aux = "Pagina" + Integer.toString(pag), mas teria q ficar assim "Pagina0033" ----> preservando os 2 zeros a esquerda

pensei no replace, mas como eu faço pra incluir os zeros se nunca sei quantos vão ser

Como faço isso em Java, alguém pode me ajudar

Obrigado

6 Respostas

L

faz um teste verificando o numero de caracteres de pagina, se for 4, vc sabe q nao precisara de ‘0’, se for 3 vc precisa de um ‘0’… e assun sucessivamente…

Yunki

Ah! blz entendi, na verdade queria uma função mas se não tem, vai assim mesmo.

Valeu Leandro.

marcosbrandao

Você conhece a função lpad ou rpad do oracle?
vc pode implementar uma parecida.

F

Veja lpad na package stringutils da lib apache commons.

Yunki

ah! galera valeu, vou dar uma pesquisada. pra melhorar meu codigo

Obrigado

Marky.Vasconcelos

Cara acho que algo assim pode funcionar

public class teste{ public static void main(String[] args){ java.text.NumberFormat dc = new java.text.NumberFormat("0000"); String toBuild = "Página0001"; int n = 240; String toShow = "Página" + String.valueOf(dc.format(n)); System.out.printl(toShow); } }

Criado 20 de maio de 2007
Ultima resposta 21 de mai. de 2007
Respostas 6
Participantes 5