Andrer757 Posted December 6, 2007 at 08:47 AM Report Share #152606 Posted December 6, 2007 at 08:47 AM boas, alguém me podia explicar como eliminar caracteres especiais como virgulas, pontos e acentos de um vector de strings, é que eu comecei agora a trabalhar com java na universidade e ainda não percebo muito disto. Obrigado. Cumprimentos, André Rosa Link to comment Share on other sites More sharing options...
magician Posted December 6, 2007 at 11:36 AM Report Share #152630 Posted December 6, 2007 at 11:36 AM Podias explicar melhor o que queres?? É um Vector ou um array ?? Tens apenas uma letra por posição ou uma palavra ? I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
Andrer757 Posted December 6, 2007 at 03:49 PM Author Report Share #152661 Posted December 6, 2007 at 03:49 PM a class text recebe um vector de Strings em que cada índice do vector corresponde a uma linha de um texto e tenho que correr todo esse texto e eliminar os caracteres especiais como virgulas, pontos finais, etc. Cumprimentos, André Rosa Link to comment Share on other sites More sharing options...
magician Posted December 6, 2007 at 04:27 PM Report Share #152671 Posted December 6, 2007 at 04:27 PM Basta para isso ir a cada posição de do vector re fazer um replace dos caracteres que queres por um "". I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
Knitter Posted December 6, 2007 at 05:11 PM Report Share #152678 Posted December 6, 2007 at 05:11 PM O código certamente precisará de alguns ajustes mas será algo no seguimento de: public static void main(String[] args) { String[] exemplo = {"oaoslal!!!", "sda#aasd", "$lkflsf", "tes34t", "asdafga", "ola", "adeus", "acima", "334gas", "adas%6fda"}; Vector<String> resultados = new Vector<String>(); for(String s : exemplo) { resultados.add(s.replaceAll("[^\\w]", "")); } for(String a : resultados) { System.out.println(a); } } Estou a usar um método para substituir todos os caracteres que não façam parte de palavras, tudo excepto de a-z, A-Z, _ e 0-9, através da expressão regular "[^\\w]", basicamente significa, "tudo excepto caracteres que façam parte de palavras". www.sergiolopes.eu Link to comment Share on other sites More sharing options...
Andrer757 Posted December 6, 2007 at 06:20 PM Author Report Share #152699 Posted December 6, 2007 at 06:20 PM Eu tava a pensar em algo assim: private String especial = ",.;:<>|!@#£$§%&/{([)]=}'?)_-"; for (int i = 0;i < texto.length;i++) { for (int j = 0; j < 27;j++) { Character esp; esp = especial.charAt(j); texto[i].replaceAll(esp.toString(), ""); } } mas ainda não testei. O código certamente precisará de alguns ajustes mas será algo no seguimento de: public static void main(String[] args) { String[] exemplo = {"oaoslal!!!", "sda#aasd", "$lkflsf", "tes34t", "asdafga", "ola", "adeus", "acima", "334gas", "adas%6fda"}; Vector<String> resultados = new Vector<String>(); for(String s : exemplo) { resultados.add(s.replaceAll("[^\\w]", "")); } for(String a : resultados) { System.out.println(a); } } Estou a usar um método para substituir todos os caracteres que não façam parte de palavras, tudo excepto de a-z, A-Z, _ e 0-9, através da expressão regular "[^\\w]", basicamente significa, "tudo excepto caracteres que façam parte de palavras". Vou ver se o que estou a pensar dá se não tento com esse. Cumprimentos, André Rosa Link to comment Share on other sites More sharing options...
Knitter Posted December 6, 2007 at 10:26 PM Report Share #152769 Posted December 6, 2007 at 10:26 PM Dessa forma penso que funcionará bem na mesma. Só tens de te lembrar de uma coisa, as strings em Java são imutáveis, o que significa que como não estás a guardar o resultado do método replaceAll não vais notar alterações. Se quiseres remover variáveis, não precisas da variável "esp". www.sergiolopes.eu Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now