Fuja do cano!

Oi pessoal,
Por algum motivo, isso nunca me ocorreu até hoje.

Se você for usar o método split () em um objeto String em Java usando o caractere de barra vertical (“|”) como a correspondência de regex, você precisará escapar da barra vertical.

String input = "234|Nigeria";

String code = input.split("|")[0];
String country = input.split("|")[1];

String escapedCode = input.split("\|")[0];
String escapedCountry = input.split("\|")[1];

System.out.println("Unescaped: " + code + "," + country);
System.out.println("Escaped: " + escapedCode + "," + escapedCountry);

A saída é mostrada abaixo:

Unescaped: ,2
Escaped: 234,Nigeria