Pessoal,
Tenho aqui uma String onde os campos são separados por ponto (".").
Gostaria de capturar um desses campos usando o método split, mas estou tendo problemas.
Exemplo:
String str_source="12345.abcde";
String str_target=str_source.split(".")[0];
O código acima retorna uma exception do tipo ArrayIndexOutOfBoundsException.
Alguém poderia me ajudar a corrigir isso aí?
Obrigado!
lina
Julho 21, 2009, 6:54am
#2
Oi,
Acho que deveria ser.:
String str_source="12345.abcde";
String[] str_target=str_source.split(".");
depois poderá ser utilizado str_target[posicao]
Tchauzin!
Ola, o split funciona com expressão regular e o ponto em ER é qualquer coisa então mude seu método para…
String str_source = "12345.abcde";
String str_target = str_source.split("\.")[0];
Valew…
lina
Julho 21, 2009, 7:03am
#4
[quote=leandrolw]Ola, o split funciona com expressão regular e o ponto em ER é qualquer coisa então mude seu método para…
String str_source = "12345.abcde";
String str_target = str_source.split("\.")[0];
Valew…[/quote]
Oi,
Exatamente isso. Acabei esquecendo da ‘\’ em meu exemplo. Você queria pegar apenas a primeira posição ?
Tchauzin!
Hail man,
Testei aqui com vários separadores (! / :), com letras, números… E parece que o problema surge exatamente usando o ponto.
Talvez o . não sirva como separador pro método split, mas se fosse o caso deveria jogar um PatternSyntaxException, logo não sei.
Vou dar uma pesquisada.
[quote=leandrolw]Ola, o split funciona com expressão regular e o ponto em ER é qualquer coisa então mude seu método para…
String str_source = "12345.abcde";
String str_target = str_source.split("\.")[0];
Valew…[/quote]
Valeu ae tirou minha dúvida também
Outra opção para escapar caracteres especiais é colocá-los dentro de uma lista, ficaria [.]
Tem também o método quote do Pattern para criar essa regex.