Bom dia pessoal,
Segue um codigo simples de como formatar uma string de acordo com uma mascara definida por você.
Bom simples e rapida de implementar. segue o codigo abaixo:
/**Character Description * # Qualquer numero valido. * * ' Usado para não usar nenhum caracter especial na formatacao ("n", "t"....) * * U Qualquer caracter * Todas as letras minusculas sao passadas para maiuscula. * * L Qualquer caracter * Todas as letras maiusculas sao passadas para minusculas * * A Qualquer caracter ou numero * ( Character.isLetter or Character.isDigit ) * * ? Qualquer caracter ( Character.isLetter ). * * * Qualquer Coisa. * * H Qualquer caracter hexa (0-9, a-f ou A-F). * * ==================================== * ex: * value = "A1234B567Z" * mask = "A-AAAA-AAAA-A" * output : A-1234-B567-Z * * =================================== * @param string * @param mask * @return * @throws java.text.ParseException */ public static String formatString(String string, String mask) throws java.text.ParseException { javax.swing.text.MaskFormatter mf = new javax.swing.text.MaskFormatter(mask); mf.setValueContainsLiteralCharacters(false); return mf.valueToString(string); }
Para retirar a mascara de uma string use:
return mf.stringToValue(String);
O numero passado deve-se ser exatamente igual a mascara, se não retornara uma excessao.
Obrigado.
Guilherme Biff Zarelli.
Java Mascara em String, formatando uma String.