Форматирование строки и сохранение значений - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть строка, подобная приведенной ниже "OPR_NAME: CODE = value,: DESC = value,: NUMBER = value,: INITIATOR = value,: RESP"

Я используюStringTokenizer для разделения строки на токены на основе разделителя (, :), мне нужны значения CODE, DESC и NUMBER.Может кто-нибудь, пожалуйста, скажите, как этого добиться?В моей строке значения могут располагаться в случайном порядке. Например, моя строка может быть такой же, как показано ниже: "OPR_NAME: DESC = value,: NUMBER = value,: CODE = value,: INITIATOR = value,: RESP" и все же он должен быть в состоянии извлечь значения.

Я сделал ниже, чтобы разбить строку на токены

StringTokenizer st = new StringTokenizer(str,",:");
        while (st.hasMoreTokens()) {            
             System.out.println(st.nextToken());             
         } 

Но не уверен, как хранить эти токены, чтобы просто получить значениеиз 3 полей, как указано выше.

Спасибо !!

1 Ответ

0 голосов
/ 17 сентября 2018

Хорошо, так что я имел в виду, определите, где находится «=», а затем примените подстроку, чтобы получить желаемое значение.

грубый пример

System.out.println(st.nextToken().substring(st.nextToken().indexOf('=')+1,st.nextToken().length()));

Используйте вместо этого разделение:

String[] parts = X.split(",:");
for (String x:parts) {
    System.out.println(x.substring(x.indexOf('=')+1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...