1
resposta

Usando split para quebrar uma string Java

Não consigo fazer a string ser separada por linhas, toda vez que mando retornar a string quebrada com valor do array em 0 ela me retorna o primeiro caráctere...

Response response = client.newCall(request).execute();

        String respostaRequest = new String(response.body().string());

        String respostaAutomatica = respostaRequest.split("\r")[0];

        System.out.println(respostaAutomatica);

        System.out.println(respostaAutomatica.length());

        String idCaixaOperacaoRetorno = respostaAutomatica.split("|")[3] + 
                respostaAutomatica.split("|")[4] + 
                respostaAutomatica.split("|")[5] + 
                respostaAutomatica.split("|")[6] + 
                respostaAutomatica.split("|")[7] +
                respostaAutomatica.split("|")[8] +
                respostaAutomatica.split("|")[9];

        String status = respostaAutomatica.split("|")[0] + respostaAutomatica.split("|")[1];




        if (respostaAutomatica != null && respostaAutomatica != "") {



            if (status.equals("OK")) {

                try {


                    System.out.println("Id Caixa Operação: " + idCaixaOperacaoRetorno);
                    System.out.println("Satus: " + status);



                } catch (Exception e) {

                }

            }

        }
1 resposta

Olá Fabio, tudo bem?

Pelo que entendi, você está tentando separar uma string por linhas utilizando o método split em Java, mas não está obtendo o resultado esperado.

Uma possível solução para o seu problema seria utilizar o caractere de quebra de linha "\n" ao invés de "\r". Além disso, é importante lembrar que o método split utiliza expressões regulares como parâmetro, então você precisa escapar o caractere "|" utilizando "\".

Dessa forma, o trecho de código que separa a string em um array utilizando o caractere "|" ficaria assim:

String[] respostaSeparada = respostaRequest.split("\\|");

Espero ter ajudado e bons estudos!