Как извлечь данные из строки в C#
Я получаю данные в своем приложении через RFC. RFC возвращает данные в нескольких параметрах / переменных. Один из параметров возвращается ниже строки.
STRUCTURE ERRMSG{FIELD TYPE=E FIELD ID = FIELD NUMBER=000 FIELD MESSAGE=Invalid Referral Link FIELD LOG_NO= FIELD LOG_MSG_NO=000000 FIELD MESSAGE_V1= FIELD MESSAGE_V2= FIELD MESSAGE_V3= FIELD MESSAGE_V4= FIELD PARAMETER= FIELD ROW=0 FIELD FIELD= FIELD SYSTEM= }
Из приведенной выше строки как я могу извлечь значение поля MESSAGE field.
Что я уже пробовал:
До сих пор я пробовал это...
Message = function.GetValue("MESSAGE").ToString(); from = Message.IndexOf("FIELD MESSAGE="); to = Message.LastIndexOf("FIELD LOG_NO="); Msg = Message.Substring(from, to - from).Replace("FIELD MESSAGE=", "").Trim();
Он прекрасно работает. Но есть ли другой способ сделать это? Например, использование LINQ, LIST, лямбда-выражения, XML и т. д...
John C Rayan
всегда ли поле параметра LOG_NO следует за полем MESSAGE ?
sopi9
Да.
До сих пор я пробовал это...
Сообщение = функция.GetValue ("сообщение").Метод toString();
из сообщений.Метод indexOf("поле " Сообщение"=");
to = сообщение.LastIndexOf ("поле LOG_NO=");
Msg = Сообщение.Подстрока (from, to-from).Заменить ("поле Сообщение=","").();
Он прекрасно работает. Но есть ли другой способ сделать это? Например, использование LINQ, LIST, лямбда-выражения, XML и т. д...