Método split não funciona?

5 respostas
bsl.lacerda

Pessoal, estou tentando dar um Split em uma String mais ou menos com o formato:

String valor = "123|456|789";
String [] valores = valor.split("|");

Só que quando faço isso ele está dividindo toda a string em array tipo:

valores == [1,2,3,4,5,6,7,8,9]

Alguém tem alguma idéia do que está acontecendo?

5 Respostas

xandevieira

faz assim: String [] valores = valor.split("\|");

T

“|” é um caracter especial para expressões regulares (significa “alternância”. Por exemplo: “ab|cd” bate com as expressões “ab” ou “cd”. )

Para usar o caracter sem que ele fique especial, você pode antecedê-lo com um “\”, ou então usar Pattern.quote (a partir do Java 5.0). Ou seja:

String [] valores = valor.split(Pattern.quote("|")); 
... ou ...
String [] valores = valor.split("\|");
T

http://aurelio.net/er

Mero_Aprendiz

Bruno Lacerda:
Pessoal, estou tentando dar um Split em uma String mais ou menos com o formato:

String valor = "123|456|789";
String [] valores = valor.split("|");

Só que quando faço isso ele está dividindo toda a string em array tipo:

valores == [1,2,3,4,5,6,7,8,9]

Alguém tem alguma idéia do que está acontecendo?

String [] valores = valor.split("\|");

[]'s
JL

bsl.lacerda

Valeu!

Criado 3 de julho de 2009
Ultima resposta 3 de jul. de 2009
Respostas 5
Participantes 4