Erro estranho - String.split()

2 respostas
2

Tenho a seguinte string:

“0111-3/01|Cultivo de arroz”

Estou dando um split nela por “|” e olha oque está acontecendo(Segue anexo imagem)

O meu código é esse:

String gestSubclasse = (String) cnaeBean.getSubclasse(); // "0111-3/01|Cultivo de arroz"
String[] subClasseCortes =  gestSubclasse.split("|"); // split nessa budega...
codSubClasse = subClasseCortes[0]; // não pega :S
subClasse = subClasseCortes[1]; //aqui tmb n...

Já aconteceu esse erro uma vez comigo e não me lembro como resolvi.

Bom galera fico no aguardo…

Abraços.

2 Respostas

T

“|” é um caracter especial para expressões regulares e quer dizer “OU”.

No seu caso, é mais fácil “desabilitar” a interpretação do “|” como uma expressão regular. Use:

// mais fácil, mas só funciona a partir do Java 5.0
... gestSubclasse.split(Pattern.quote("|")) ...

ou

// Funciona em Java 1.4 e posterior.
... gestSubclasse.split("\|") ...
2

thingol:
"|" é um caracter especial para expressões regulares e quer dizer “OU”.

No seu caso, é mais fácil “desabilitar” a interpretação do “|” como uma expressão regular. Use:

// mais fácil, mas só funciona a partir do Java 5.0
... gestSubclasse.split(Pattern.quote("|")) ...

ou

// Funciona em Java 1.4 e posterior.
... gestSubclasse.split("\|") ...

nossa uma coisa tao simples… mais gostei… obrigado

Criado 15 de maio de 2009
Ultima resposta 16 de mai. de 2009
Respostas 2
Participantes 2