replaceAll() não funciona.
07/09/2010 00:00
0
Caros

Tenho um service que abre um arquivo XLS e persiste todos os dados, mas antes
de gravar no banco faço alguns tratamentos, um deles é substituir acentos, ce-cedilha..
Ex: R. Girão França N? 123
É para ficar assim:
Ex: R. GIRAO FRANCA N 123
O toUpperCase esta funcionando mas o replaceAll não.
Segue abaixo uma parte do código..

def stringReplaceAll(String texto)
{
// acento agudo
texto = texto.replaceAll(/[á]/, "a")
texto = texto.replaceAll("é", "e")
texto = texto.replaceAll("í", "i")
texto = texto.replaceAll("ó", "o")
texto = texto.replaceAll("ú", "u")
texto = texto.replaceAll("/[Á]+/", "A")
texto = texto.replaceAll("É", "E")
texto = texto.replaceAll("Í", "I")
texto = texto.replaceAll("Ó", "O")
texto = texto.replaceAll("/[Ú]+/", "U")
}

Sugestões?
Tags: Grails


0
Gregory,

muito provávelmente é um problema de codificação unicode. Verifique qual a codificação do arquivo e também da sua JVM.

É possível forçar a codificação da JVM usando o parâmetro -Dfile.encoding=[sua codificação].

Por exemplo, -Dfile.encoding=utf-8

Isto garante que sua aplicação, assim como a JVM inteira (cuidado com isto caso esteja lidando com um servidor compartilhado) irá adotar esta codificação.

Outra possibilidade é trabalhar com os métodos toString, que, se não me engano, podem modificar codificação também (Não me lembro agora de memória).

Pra finalizar, da uma lida neste post do Joel Spoolsky. É um clássico e trata exatamente deste problema:
<!-- m --><a class="postlink" href="http://www.joelonsoftware.com/articles/Unicode.html">http://www.joelonsoftware.com/articles/Unicode.html</a><!-- m -->


0
Deu certo Kico,

Mudei a codificação, e o problema foi resolvido.

Obrigado novamente.
07/09/2010 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto