Estava tentando usar o caracter | para delimitar uma String usando o .split("|") porém ele me retorna um array de todos os caracter ao invés de delimitar nos pontos indicados…com outros caracteres tipo # ou " " (espaço) funciona normalmente…alguem tem uma explicação? Apesar de já ter conseguido não conseguirei dormir com uma dúvida dessas! hehe
segue codigo com #:
public static void main(String[] args) {
String nome = "null#teste#12";
String[] nomes = nome.split("#");
for (int i = 0; i < nomes.length; i++) {
System.out.println(nomes[i]);
}
}
e com o “|”:
public static void main(String[] args) {
String nome = "null|teste|12";
String[] nomes = nome.split("|");
for (int i = 0; i < nomes.length; i++) {
System.out.println(nomes[i]);
}
}
Use split ("\|") (ou então split (Pattern.quote ("|")), ou então split ("[|]").
É que “|” é um caracter especial para expressões regulares, que deve ser tratado especialmente.