Страница 1 из 2
Разбор содержимого строки
Добавлено: 12.01.2019{, 20:13}
Ingwar
Блок для вычленения нужной информации между заданным разделителем из СМС, с СОМ порта или SD.
Содержит 5 выходов.
На пример строка на входе
jjjeee123;1r23;234;we;asd;5;7775 в качестве разделителя выбран символ ";"
На выходах блока будут соответственно:
1r23
234
we
asd
5
Структура очень простая и легко можете переделать на большее или меньшее кол-во.
Для сравнения (при создании блока с нужным кол-вом выходов), в качестве примера, прилагаю блок на 3 выхода.
Если будете использовать блок с избыточным кол-вом выходов, будьте готовы к "мусору" на неиспользуемых выходах.
Разбор содержимого строки
Добавлено: 16.01.2019{, 20:19}
AlexCrane
Ingwar, Думал строку разобрать по словам с разделителем "пробел", ан нет первое слово пропало т.к. спереди нет пробела. Как мне кажется намного полезнее разбирать по окончанию разделителя
Пример jjjeee123;1r23;234;we;asd;5;7775;
На выходе:
jjjeee123
1r23
234
we
asd
И разрешение использовать такого типа блоки один раз не гуманно
Разбор содержимого строки
Добавлено: 16.01.2019{, 20:35}
Ingwar
AlexCrane писал(а): ↑16.01.2019{, 20:19}
кажется намного полезнее разбирать по окончанию разделителя
Ingwar писал(а): ↑12.01.2019{, 20:13}
между заданным разделителем
Просто делал блок из примера под свои нужды, в дополнение к чтению с SD.
AlexCrane писал(а): ↑16.01.2019{, 20:19}
И разрешение использовать такого типа блоки один раз не гуманно
Да я не против, но во первых в моем проекте достаточно 1 раз, а во вторых - я решил изучать язык пару недель назад (Sancho не даст соврать)
И совершенно не против если Вы подправите и выложите более удобный вариант.
Разбор содержимого строки
Добавлено: 17.01.2019{, 21:08}
AlexCrane
Ingwar, Находит в строке элемент выделенный с обоих сторон разделителем sep по его номеру вхождения index
Пример:
000;111;222;333;444;555;666;777;888;999;w
по индексу 1 найдет 111
000 и w не найдутся т.к. не выделены разделителем с двух сторон
Если по индеку не находим ничего на выходе пустая строка и Find = false;
Оттестируй
Разбор содержимого строки
Добавлено: 17.01.2019{, 22:56}
Ingwar
AlexCrane писал(а): ↑17.01.2019{, 21:08}
Оттестируй
Спасибо. Работает.
Проверил пока в эмуляторе.
Разбор содержимого строки
Добавлено: 17.01.2019{, 23:38}
rw6cm
Ingwar,
Зачем замарачиваться, если это элементарно делается встроенными блоками
Разбор содержимого строки
Добавлено: 18.01.2019{, 00:30}
Ingwar
rw6cm писал(а): ↑17.01.2019{, 23:38}
Зачем замарачиваться,
Не считая удобства (хотя и Ваш вариант можно загнать в ПБ) - в 2 раза меньше памяти устройства и в 6 раз меньше динамической памяти.
Разбор содержимого строки
Добавлено: 18.01.2019{, 00:57}
rw6cm
Ingwar писал(а): ↑18.01.2019{, 00:30}
Не считая удобства (хотя и Ваш вариант можно загнать в ПБ) - в 2 раза меньше памяти устройства и в 6 раз меньше динамической памяти.
Откуда такие астрономические данные
Отправлено спустя 1 час 28 минут 46 секунд:
Если по логике предложенной AlexCrane (выводить последовательно в одну переменную)
еще проще
Разбор содержимого строки
Добавлено: 18.01.2019{, 08:11}
Ingwar
rw6cm писал(а): ↑18.01.2019{, 02:25}
Откуда такие астрономические данные
Мы разные блоки сравниваем. И правильнее сравнивать без ввода/вывода. Я отключил в Вашем проекте 1 и 3 платы.
Ваш на стандартных блоках.
С первого поста
И вариант Александра по моей просьбе с последовательным выводом
P.S. Ваш последний
Тут все гораздо лучше конечно. Только нет произвольной выборки по индексу.
Разбор содержимого строки
Добавлено: 18.01.2019{, 09:12}
AlexCrane
rw6cm писал(а): ↑18.01.2019{, 02:25}
выводить последовательно в одну переменную
Ingwar писал(а): ↑18.01.2019{, 08:11}
И вариант Александра по моей просьбе с последовательным выводом
Последовательный вывод был просто для примера, а так произвольно....
Разбор содержимого строки
Добавлено: 18.01.2019{, 11:58}
rw6cm
Ingwar писал(а): ↑18.01.2019{, 08:11}
Мы разные блоки сравниваем. И правильнее сравнивать без ввода/вывода. Я отключил в Вашем проекте 1 и 3 платы.
Тогда правильней удалить 1,3, платы и расклад будет другой (при отключении платы объем кода не сильно меняется)
Ingwar писал(а): ↑18.01.2019{, 08:11}
Только нет произвольной выборки по индексу.
да это не проблема
кстати не понятно
AlexCrane писал(а): ↑17.01.2019{, 21:08}
000 и w не найдутся т.к. не выделены разделителем с двух сторон
как вести счет по индексу перед словом или после? как то с двух сторон в путаницу вводит.
п/с вообще я просто предложил, как это сделать стандартными блоками, тем кто захочет сделать что то под свои хотелки )
Разбор содержимого строки
Добавлено: 18.01.2019{, 12:34}
Ingwar
rw6cm писал(а): ↑18.01.2019{, 11:58}
как то с двух сторон в путаницу вводит.
Это просто для примера,что не заключенные в разделитель - не читаются.
rw6cm писал(а): ↑18.01.2019{, 11:58}
Тогда правильней удалить 1,3, платы и расклад будет другой (при отключении платы объем кода не сильно меняется)
Да, согласен, стало меньше
rw6cm писал(а): ↑18.01.2019{, 11:58}
как это сделать стандартными блоками, тем кто захочет сделать что то под свои хотелки )
За это и +
Разбор содержимого строки
Добавлено: 18.01.2019{, 12:38}
AlexCrane
rw6cm писал(а): ↑18.01.2019{, 11:58}
как вести счет по индексу перед словом или после? как то с двух сторон в путаницу вводит.
В этом согласен, я бы вел счет по разделителю после, так будет правильнее
к примеру строка:
В лесу родилась ёлочка
с разделителем
пробел
разбиралась строго по словам, причем последний пробел не учитывался бы:
1 В
2 лесу
3 родилась
4 ёлочка
rw6cm, вот Вам задачка, справитесь?
Разбор содержимого строки
Добавлено: 18.01.2019{, 14:43}
rw6cm
AlexCrane писал(а): ↑18.01.2019{, 12:38}
rw6cm, вот Вам задачка, справитесь?
Разбор содержимого строки
Добавлено: 18.01.2019{, 15:56}
AlexCrane
rw6cm писал(а): ↑18.01.2019{, 14:43}
In the forest was born herringbone.flp
Не, нужно с выводом нужного слова, к примеру на входе
2, на выходе
the
Разбор содержимого строки
Добавлено: 18.01.2019{, 18:53}
rw6cm
AlexCrane писал(а): ↑18.01.2019{, 15:56}
Не, нужно с выводом нужного слова, к примеру на входе 2, на выходе the
Разбор содержимого строки
Добавлено: 19.01.2019{, 10:01}
AlexCrane
Ingwar,
rw6cm,
Для тех кто не хочет заморачиваться, то-же самое что и выше в посту, только на ПБ
Игорь, так более правильно парсить, чем искать вложение между разделителями
Разбор содержимого строки
Добавлено: 13.11.2019{, 13:42}
gerdog
AlexCrane, огромное человеческое спасибо тебе!!! кажется то, что нужно!
Разбор содержимого строки
Добавлено: 13.11.2019{, 13:52}
KulibinOrsk
Полезная вещь. В копилку.
ВОПРОС ЗНАТОКАМ: подскажите как переменную string записать в eeprom а потом считать и записать в другую переменную.
А частности с sim800 считываю номер телефона +7922620... его надо сохранить в еепром и при необходимости считать для работы.
Разбор содержимого строки
Добавлено: 13.11.2019{, 14:00}
Phazz
KulibinOrsk, перевести в longinteger
Отправлено спустя 50 секунд:
Без плюса разумеется