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