PDA

View Full Version : [java] come eliminare i caratteri speciali


michaela70124
11-05-2005, 20:59
Ciao a tutti! espongo il mio problema: :help:
il mio programmino legge un file text riga x riga e memorizza in un array di stringhe solo determinate righe; prima di memorizzarle però, ho bisogno di eliminare i caratteri speciali (:<>?* ecc...) e lo spazio, ma non so come fare, ho trovato solo replace(char oldChar,char newChar) che sostituisce i caratteri da me indicati (sto usando l'underscore come carattere sostitutivo).
Qualcuno può aiutarmi?
(Per esempio la stringa "Ciao come stai?" deve diventare "Ciaocomestai", e non come faccio adesso "Ciao_come_stai_"! :( ).

Grazie e ciao a tutti!!! :)

kingv
11-05-2005, 22:20
non penso che ci sia un metodo già fatto, puoi fare così:

public static String soloAlfanumerici(String input)
{
StringBuffer sb = new StringBuffer();
for(int i =0; i < input.length(); i++)
{
char current = input.charAt(i);
if(Character.isLetterOrDigit(current))
sb.append(current);
}
return sb.toString();
}

Angus
12-05-2005, 10:51
propongo una maniera alternativa:


System.out.println("testo#con caratteri_speciali e spazi".replaceAll("[ #_]", ""));


scegli con cura l'espressione regolare (http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html#sum)