Извлечь текст из шаблона - PullRequest
0 голосов
/ 12 октября 2019

У меня есть модуль SIM 800. Я прочитал все сообщения, которые хранятся в SIM-карте. тот ответный рев ответа. Я хочу отдельный номер телефона, время и текст из ответа. но я не знаю как


+CMGL: 1,"REC READ","number","","2019/10/11 17:09:44+14"
this is text

+CMGL: 2,"REC READ","989149161278","","2019/10/11 17:38:18+14"
this is text

+CMGL: 3,"REC READ","989149161278","","2019/10/11 17:55:03+14"
this is text

+CMGL: 4,"REC READ","989149161278","","2019/10/11 17:57:09+14"
this is text

+CMGL: 5,"REC READ","989149161278","","2019/10/11 18:14:22+14"
this is text

+CMGL: 13,"REC READ","989149161278","","2019/10/11 19:04:40+14"
this is text

+CMGL: 14,"REC READ","989149161278","","2019/10/11 19:07:12+14"
this is text

+CMGL: 15,"REC READ","989149161278","","2019/10/11 19:08:23+14"
this is text

+CMGL: 16,"REC READ","989149161278","","2019/10/11 19:21:17+14"
this is text

+CMGL: 17,"REC READ","989149161278","","2019/10/11 19:30:31+14"
this is text

+CMGL: 18,"REC READ","989149161278","","2019/10/11 20:15:49+14"
this is text

+CMGL: 19,"REC READ","989149161278","","2019/10/11 20:41:36+14"
this is text

+CMGL: 20,"REC READ","number","","2019/10/11 20:41:41+14"
this is text

OK

Ответы [ 2 ]

2 голосов
/ 12 октября 2019

Это может быть не лучшим способом, но, учитывая, что ваша структура ответов всегда будет оставаться неизменной, рассмотрим:

\+CMGL:\s\d+\,\"REC\sREAD\",\"(?<phone>.+)\",\"(?:.+)?\",\"(?<time>.+)\"|^(?<message>.+)$

Regex Demo

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

0 голосов
/ 12 октября 2019

Вы должны изучить это, чтобы решить вашу проблему. https://www.tutorialspoint.com/csharp/csharp_regular_expressions.htm

В качестве альтернативы вы также можете использовать метод разделения строк для разделения содержимого между запятыми. https://www.geeksforgeeks.org/string-split-method-in-c-sharp-with-examples/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...