importjava.util.regex.*;importjava.io.*;publicclassSplitter{publicstaticString[]split(Stringstr,Stringseparador)throwsException{Patternp=Pattern.compile(separador);// para . use [.]+String[]resultado=p.split(str);returnresultado;}// main para testespublicstaticvoidmain(String[]args){try{String[]as=split("Pacote.Nome.da.Classe","[.]+");for(inti=0;i<as.length;i++)System.out.println(as[i]);}catch(Exceptione){System.out.println(e);}}}
Leandro_Rangel_Santo
não sei usar expressões regulares direito ,então vou sugerir outros metodos
primeiro ,você pode usar o StringTokenizer para separar nome.do.pacote.tools.NomeDaClasse em tokens ,indicando que o separador é o “.”
com isso ,você pega o ultimo token , que vai ser o “NomeDaClasse”
pronto ,agora sabendo que a classe Character tem o metodo isLowerCase que te retorna um booleando indicando se o caracter é minusculo ou não ,vc pode interar a string ,e pegar as posições dos caracteres maiusculos
bom ,foi uma solução ,não sei se foi a mais elegante
cv1
Pessoal, valeu pela força :)
O Rafael Steil acabou me dando a dica de usar o isUpperCase, e o código acabou assim: