2015-03-29 1 views
1

У меня есть строка в следующем форматеРазбивает строку и получить каждые значения с помощью Java

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 (" \ ")' Это обратная косая черта. – Ryan

ответ

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 answer в случае, если вам интересно, почему вам нужно четыре \:

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

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

+0

Спасибо, Сергей. Какое у вас альтернативное решение? – Syed

+0

@Nizam У меня нет никакого решения, которое бы било String.split() –

Смежные вопросы