Existe algum modo rapido de applicar maskacara (###.###-##) ? a uma string de digitos?

3 respostas
Lavieri
String mask = "###.###.###-#"

String digitos = "[telefone removido]";

System.out.println(applayMask(mask, digitos));

//result = [CPF removido]
algo assim ... eu sei que da pra fazer horrivelmente assim:
applayMask(String mask, String digitos) {
   int cursor = 0;
   while (mask.contains("#")) {
          mask.replaceFirst("#", ""+digitos.charAt(cursor));
   }
mas tenho certeza que existe um modo + elegante

3 Respostas

Pedrosa

Olhe isso:
http://www.exampledepot.com/egs/java.text/FormatNum.html?l=rel

Lavieri

eu olhei, mas no meu caso não é exatamente um Número, é uma string contendo digitos… inclusive os valores iniciais podem ser zeros

M

Creio que seja mais fácil converter para int ou long e aplicar a máscara do DecimalFormat do que criar um algoritmo próprio. Pode ser que haja algum método já existente que faça isso, mas desconheço…

Criado 13 de janeiro de 2009
Ultima resposta 13 de jan. de 2009
Respostas 3
Participantes 3