Como posso fazer para pegar os elementos de uma String separados por “.”?
Tenho uma String que contém um IP.
Exemplo:
private String ip = “100.100.100.100”;
acontece que um IP nem sempre contém os 3 dígitos entre cada “.”
Preciso pegar qtos números existirem até o “.” e aplicar uma lógica pra cada grupo lido.
Pesquisando na web, encontrei a função “split”, onde se especifica o caracter limitador…
Alguém pode ajudar?
“.” eh um caracter especial em expressao regular, representando qualquer caracter. Para splitar por ponto, vc precisa “escapar” o mesmo usando uma barra:
public class QuebrarIP {
public static void main(String[] args) {
String ip = "192.168.0.1";
StringTokenizer st = new StringTokenizer(ip, ".");
while (st.hasMoreTokens())
System.out
.println("Cada registro em separadao>> " + st.nextToken());
}
}
Que retorna:
[quote]Cada registro em separadao>> 192
Cada registro em separadao>> 168
Cada registro em separadao>> 0
Cada registro em separadao>> 1
[/quote]
Usei a dica de StringTokenizer… e funcionou…
Aproveitei tb para testar usando Split e tb deu certo.
O único problema é que não pude usá-la em vista de estar usando uma jdk diferente no meu aplicativo.
Entendi sobre o método Tokenizer. E como seria pra armazenar cada valor desse num array?
Por exemplo:
[code]public class Utilitario2 {
public void recebe (String quebra) {
String[] separa;
int n=0, i=0;
StringTokenizer st = new StringTokenizer(quebra, “;”);
while (st.hasMoreTokens()) {
separa[i]=st.Token();
i++;
st.nextToken());
}
System.out.println("Valor do array "+n+"e: "+separa[n]);
}
public static void main (String args[]) {
String meses=“Janeiro;Fevereiro;Março;Abril;Maio;Junho;”;
Utilitario2 util=new Utilitario2();
util.recebe(meses);
}
}[/code]
Eu quero que ele pegue a string meses, varra ela armazenando num array de strings e quando encontrar “;” ele pule pro próximo array.
Ex:
array[0]=Janeiro;
array[1]=Fevereiro;
e assim sucessivamente.