Разбейте строку и получите каждое значение, используя Java

1

У меня есть строка в следующем формате

Duplicate application\Your request has been rejected by the Credit Bureau server.\Entered value is lower than the minimum requirement to apply with this Income proof document. Please try using any other Income Support Document.\Validation error. Policy criteria not met.\Decisioning System unavailable at the moment\Decision Center error:\We regret not being able to take your application forward at this point. Thank you for applying.

Теперь я пытаюсь разбить строку, используя разделитель "\". Я пытаюсь извлечь все строки и сравнить строку, которую я получаю от ответа, с результатом разделения каждого значения. Я не получаю точной вещи. Вот мой код..

//Note SCBCC_NEW is the string which I will have..

String[] scbCCNewArray = SCBCC_NEW.split("/");
    for(String results : scbCCNewArray) {
        LOG.info("Value :"+results)
    }

Правильно ли это?

  • 1
    Да, это правильный путь. Исправление .split("\") : .split("\") Это обратный слеш.
Теги:
string

2 ответа

4

Вам нужно будет избежать обратной косой черты как своего специального символа в java.

String str = "Duplicate application\\Your request has been rejected by the Credit Bureau server.\\Entere";
String[] scbCCNewArray = str.split("\\\\");
for (String results : scbCCNewArray) {
     System.out.println("Value :" + results);
}
Output:
Value :Duplicate application
Value :Your request has been rejected by the Credit Bureau server.
Value :Entere
2

Добавление в ответ @SMA в случае, если вы задаетесь вопросом, почему вам нужны четыре \:

\ является специальным символом в регулярном выражении, который используется для экранирования других специальных символов. Поэтому нам нужно избежать escape-символа на уровне регулярного выражения с \\ чтобы он обрабатывался регулярным выражением как обычный символ.

Затем речь идет о java, где \ снова является особым escape-символом. Поэтому мы должны добавить обратную косую черту для каждой обратной косой черты, которую мы уже имеем на уровне регулярного выражения. Это будет 2x2 = 4 общее количество обратных косых черт.

  • 0
    Спасибо Сергей. Каково ваше альтернативное решение для этого?
  • 0
    @ Nizam У меня нет никакого решения, которое бы победило String.split ()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню