Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 224
1

Быстрая обработка строки регулярным выражением

21.03.2016, 18:09. Показов 674. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

Подскажите быструю обработку строки (возможно регуляркой, но если подскажете вариант быстрее, то большое вам спасибо).

Итак, в канал сериал порта валятся команды вида: C1234! O2345! P3456! Их может быть три таких вида. На другой мусор мы не должны из MATLAB реагировать.
Необходимо очень быстро распарсить эти строки и достать цифры для дальнейшей работы с ними. Т.е. мой алгоритм следующий: принимаем строку, если первый символ допустим "P", и последний "!", то читаем содержимое строки после первого символа-команды, конкатенируем содержимое до тех пор пока не увидим символ завершения "!". Переводим строку в число. Всё. Но на моё мнение, этот алгоритм очень медленный.
Вот его код:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
while(obj1.BytesAvailable)
    chislo = '';
    m = 0;
    inputstr = deblank(fscanf(obj1));
    if ~isempty(inputstr)
        firsts = inputstr(:,1);
        lasts = inputstr(end);
    end
    if ((firsts == 'P') && (lasts == '!'))
        while ((inputstr(:, m + 2) ~= '!') && ~isnan(inputstr(:, m + 2)))
            chislo = strcat(chislo, num2str(inputstr(:, m + 2)));
            m = m + 1;
        end
    end
    Psvoltage = str2num(chislo);
    if ~isnan(Psvoltage)
        Ps = Psvoltage * (100 / 1023);
        break;
    end
end
Прошу помощи в более быстром алгоритме парсинга строки.
Спасибо вам!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2016, 18:09
Ответы с готовыми решениями:

Обработка файлов регулярным выражением
подскажите как написать обработку файлов регулярным выражением? программа должна открыть все файлы...

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

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

Найти строки не начинающиеся с цифры 9 регулярным выражением
Здравствуйте! Помогите пожалуйста с составлением регулярного выражения. У меня есть список строк, у...

0
21.03.2016, 18:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2016, 18:09
Помогаю со студенческими работами здесь

Как определить длину строки, вырезанной регулярным выражением?
Здравствуйте. Собственно вот вопрос, length не подходит...) var url = location.search; var...

с регулярным выражением.
Имеем текст youtube.com/watch?v=LOZuxwVk7TU&ob=av2em нужно получить то что находится между...

Поиск регулярным выражением
Всем доброго утра. Помогите пожалуйста составить регулярное выражение для поиска такой штуки: ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru