убрать скобки из возвращаемой строки - PullRequest
0 голосов
/ 02 июля 2019

В настоящее время я вызываю json в моих тестах на селен, и они возвращаются в виде [4534535], id хотел бы снять скобки и оставить только 4534535, но код, который я сейчас использую, похоже, этого не делает, и я не могу найти решение.

В настоящее время я использую

String[] tmp = response_body_string.split("[\\[\\]]");
String val2 = tmp[0];
val3 = val2.replaceAll("[^0-9]", "");

response_body_string - это то, что я получил обратно от json (пожалуйста, иногда это не список возвращаемого кода, поэтому я использую строку [] Но похоже, что он ничего не возвращает, tmp [0] вызывает проблему?

Я пытаюсь использовать код в другом json, а затем передать строку «4534535» следующему. Я могу использовать код, когда есть более одного номера кода, например, [3343,221213] работает нормально, потому что я использую

String[] tmp = response_body_string.split(",");
tmp = tmp[1].split(",");
//Returns second game ID
String val2 = tmp[0];
val3 = val2.replaceAll("[^0-9]", "");

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Вы были близки к ответу в последней строке.Вы можете использовать replaceAll(), чтобы удалить все, кроме цифр и запятых, а затем выполнить разбиение.

    String[] tmp = response_body_string.replaceAll("[^0-9,]", "").split(",");

Хотя я бы порекомендовал вам просто проанализировать его как JSON, чтобы избежать неприятных сюрпризов.Например, вы можете использовать более быстрый XML com.fasterxml.jackson.databind.ObjectMapper

        ObjectMapper mapper = new ObjectMapper();
        List<Integer> tmp = mapper.readValue(response_body_string, new TypeReference<List<Integer>>() {});
0 голосов
/ 02 июля 2019

Если я правильно понял, Вы хотите снять только скобки и получить только номер. Вы можете использовать:

String[] tmp = response_body_string.split("[\\[\\]]");
String tmp = tmp[0].substring(1,tmp.length-1);

Надеюсь, я вас правильно понял.

редактирование:

Если response_body_string является строкой (я полагаю, да, поскольку вы используете функцию String), вы можете просто сделать для нее подстроку. вот так:

String Final = response_body_string.substring(1,response_body_string.length-1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...