Poxa Obrigado, e eu vi isso em outros tópicos mas ninguem tinha explicado assim certinho
valeu :D:D:D
R
Rodrigo_
O método split da string recebe uma expressão regular.
O “.” equivale a qualquer caracter e o " " ao espaço.
Então o que você esta falando para dividir em qualquer coisa espaço.
Isso acaba ficando Caio - Fábio - Araújo.
para sair como voce quer coloque "\. ".
com a . esta indicando para procurar o caracter “.” e não qualquer caracter.
Estude expressão regular para entender melhor como o método funcionar,
senão poderá ter problemas com o *, ? e outro caracteres.
Valeu!
davidbuzatto
O ponto na sintaxe das expressões regulares é um metacaracter que significa "qualquer caracter". Se você quer usá-lo, vc precisa escapalo usando uma contra barra. Como em Java a contrabarra é usada para escape, na String vc precisa de duas, uma para iniciar o escape, a segunda para indicar que quer-se uma contrabarra e então o ponto. Veja:
privatevoidtesteString(){inti;Stringdados="Caio: Fábio. Araújo.";Stringlist[]=dados.split(Pattern.quote(". "));// isto remove o significado especial do ".", "|", "[". "]", "*", "^" e "$" for(i=0;i<list.length;i++){System.out.println(i+"-"+list[i]);comparaString(list[i]);}}