Problema com o método split

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!

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…

[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!

Obrigado!!!

Hail man,
Testei aqui com vários separadores (! / :), com letras, números… E parece que o problema surge exatamente usando o ponto. :frowning:
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 :slight_smile:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

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.