Discussione:
rimuovere accenti e altri caratteri estesi
(troppo vecchio per rispondere)
Sigi
2008-06-04 07:40:36 UTC
Permalink
ciao,
esiste un metodo già scritto per rimuovere da una stringa tutti i
caratteri ascii estesi e sostituirli con opportuni caratteri ascii
standard? Ad esempio gli accenti italiani, ecc..

Non che sia difficile da fare, ma sicuramente se esiste già (magari non
solo per gli accenti italiani) faccio sicuramente prima e non rischio di
dimenticarmi qualche carattere.

Grazie.
--
SigiTM
Togli 'NOSPAMMM' per rispondermi.
http://it.youtube.com/profile_videos?user=sigitm
Giordano
2008-06-04 09:59:27 UTC
Permalink
Una volta ho cercato questo metodo (proprio per gli accenti italiani),
ma non l'ho mai trovato.
Ho finito per utilizzare 6 volte la stessa istruzione nei seguenti 6
casi

String marc = new String(...);

marc = marc.replace("à", "a' "); // lettera "a" seguita da apostrofo
marc = marc.replace("è", "e' ");
marc = marc.replace("é", "e' ");
marc = marc.replace("ì", "i' ");
marc = marc.replace("ò", "o' ");
marc = marc.replace("ù", "u' ");

Di solito non mi è mi capitato di utilizzare altri tipi di caratteri
estesi (vedi " ç ");
Andrea Francia
2008-06-04 10:02:32 UTC
Permalink
Post by Sigi
ciao,
esiste un metodo già scritto per rimuovere da una stringa tutti i
caratteri ascii estesi e sostituirli con opportuni caratteri ascii
standard? Ad esempio gli accenti italiani, ecc..
Scusa la domanda, a cosa ti serve?
--
Andrea Francia
http://www.andreafrancia.it/
G.
2008-06-04 12:47:23 UTC
Permalink
Puoi usare la comoda funzione StringUtils.replaceChars della libreria
commons.lang di apache (http://commons.apache.org/lang/), che ha anche il
vantaggio di essere "null safe".

http://commons.apache.org/lang/api/org/apache/commons/lang/StringUtils.html#replaceChars(java.lang.String,%20java.lang.String,%20java.lang.String)

Ecco un esempio:
StringUtils.replaceChars(miaVariabile, "àèéìòù", "aeeiou")Ciao,G.
Post by Sigi
ciao,
esiste un metodo già scritto per rimuovere da una stringa tutti i
caratteri ascii estesi e sostituirli con opportuni caratteri ascii
standard? Ad esempio gli accenti italiani, ecc..
Non che sia difficile da fare, ma sicuramente se esiste già (magari non
solo per gli accenti italiani) faccio sicuramente prima e non rischio di
dimenticarmi qualche carattere.
Grazie.
--
SigiTM
Togli 'NOSPAMMM' per rispondermi.
http://it.youtube.com/profile_videos?user=sigitm
Giordano
2008-06-04 18:20:39 UTC
Permalink
Post by G.
StringUtils.replaceChars(miaVariabile, "àèéìòù", "aeeiou")Ciao,G.
Anch'io avevo pensato a questa libreria e il suo utilizzo è molto più
elegante della mia soluzione :)

Bisogna solo sapere usare i package
(Qui http://dnaofwinners.wordpress.com/2008/03/11/compilare-java-da-linea-di-comando-utilizzando-lopzione-classpath/
trovi delle indicazioni che ti spiegheranno appunto come compilare
utilizzando altri package/librerie)

Loading...