função split

5 respostas
J

to tentando usah a função split da seguinte maneira:

String[] item = arquivoAtual.split("\");

para “quebrar” a string em todas as ocorrências de
porém, isto está me gerando o seguinte erro:

como posso fazer isto q eu quero?

grato

Julio Romano

5 Respostas

G

“julioromano”:
to tentando usah a função split da seguinte maneira:

String[] item = arquivoAtual.split("\");

para “quebrar” a string em todas as ocorrências de
porém, isto está me gerando o seguinte erro:

como posso fazer isto q eu quero?

grato

Julio Romano

humm… esse pattern de expressão regular é inválido…

:wink:

B

Olá, não sei te explicar o por que deste erro, mas sei que o split da java.lang.String não trabalha muito bem com estas espressões, uma vez tive problemas em parsear por ‘|’, mas para resolver use a java.util.StringTokenizer, ela resolve.

G

aí romano:

public class Funcao {

    public static void main(String[] args) {
        new Funcao().doit();
    }   

    public void doit() {
        String s3 = "Um\Dois\Três";
        String [] temp = null;
        temp = s3.split("\\");
        dump(temp);
    }

    public void dump(String []s) {    
        for (int i = 0 ; i < s.length ; i++) {
          System.out.println(s[i]);
        }
    }
}

:wink:

J
"JavaPlayer":
aí romano:
public class Funcao {

    public static void main(String[] args) {
        new Funcao().doit();
    }   

    public void doit() {
        String s3 = "Um\Dois\Três";
        String [] temp = null;
        temp = s3.split("\\");
        dump(temp);
    }

    public void dump(String []s) {    
        for (int i = 0 ; i < s.length ; i++) {
          System.out.println(s[i]);
        }
    }
}
:wink:
o problema eh q eu quero separar uma string do tipo:
String nome = "um\dois\tres";
por isso usei "\\" ... seguindo a lógica q vc me passou, meu código estaria certo... o q há d errado entaum?
B

de acordo com a documentação de expressões regulares do java, vide aqui, o caracter ‘’ é pra demarcar uma expressão regular, e o \d, que é interpretado do “um\dois”, é uma expressão regular invalida.

Criado 27 de maio de 2005
Ultima resposta 27 de mai. de 2005
Respostas 5
Participantes 3