Java divide uma string para listar [duplicado]

Oct 18 2020

Tento dividir uma String contendo isbn por '||'

bk = ISBN: 9781292018195|| ISBN: 1292018194|| EISBN: 9781292070957|| EISBN: 1292070951
List<String> isbn = Arrays.asList(bk.split("|| "));

Espero que o resultado seja ['ISBN: 9781292018195', 'ISBN: 1292018194', 'EISBN: 9781292070957', 'EISBN: 1292070951'], mas

[I, S, B, N, :, , 9, 7, 8, 1, 2, 9, 2, 0, 1, 8, 1, 9, 5, |, |, , , I, S, B, N, :, , 1, 2, 9, 2, 0, 1, 8, 1, 9, 4, |, |, , , E, I, S, B, N, :, , 9, 7, 8, 1, 2, 9, 2, 0, 7, 0, 9, 5, 7, |, |, , , E, I, S, B, N, :, , 1, 2, 9, 2, 0, 7, 0, 9, 5, 1]

Como posso resolver isso?

Respostas

3 Adarsh Oct 18 2020 at 15:21

splitrecebe uma regex e |é um caractere especial. Você precisa escapar para obter o resultado desejado.

Então, substitua (bk.split("|| ")porbk.split("\\|\\| ")