Как распарсить строку? |
Здравствуйте, гость ( Вход | Регистрация )
Как распарсить строку? |
RazrFalcon |
28.5.2011, 19:35
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Есть QString. Туда копируется вывод консольной утилиты через QProcess. Мне нужно в этой длинной строке найти, в моем случае, частоту ЦП.
Как это реализовать? В голову приходит только разбиение по словам, ака split(" "), а затем каждое слово в QStringList сравнивать на наличие GHz/MHz и тд. Но это будет долговато. Можно через remove(); удалить все до частоты, и после, но это не очень точно, так как теоретически, значения до/после могут изменится. Какой вариант самый оптимальный? Скорость работы критична. PS: нужен аналог grep Сообщение отредактировал RazrFalcon - 28.5.2011, 19:37 |
|
|
Litkevich Yuriy |
28.5.2011, 19:58
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
RazrFalcon |
28.5.2011, 20:07
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
да нет
я имел ввиду вот что: Как тот так.
|
|
|
Litkevich Yuriy |
28.5.2011, 20:11
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Алексей1153 |
28.5.2011, 20:53
Сообщение
#5
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
сдаётся мне, что это и есть нужная регулярка )
|
|
|
RazrFalcon |
28.5.2011, 22:01
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Это я к примеру написал.
Суть в том, что в тексте есть <тут текст> 1.90GHz <тут текст>. Мне нужно вычленить это значение. При том, что то, что до и то что после - мне известно, и оно постоянно. Пример: Раскрывающийся текст $ cpufreq-info cpufrequtils 008: cpufreq-info © Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: driver: powernow-k8 CPUs which run at the same hardware frequency: 0 1 CPUs which need to have their frequency coordinated by software: 0 1 maximum transition latency: 109 us. hardware limits: 800 MHz - 1.90 GHz available frequency steps: 1.90 GHz, 1.80 GHz, 1.60 GHz, 800 MHz available cpufreq governors: conservative, performance current policy: frequency should be within 800 MHz and 1.90 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 1.90 GHz. analyzing CPU 1: driver: powernow-k8 CPUs which run at the same hardware frequency: 0 1 CPUs which need to have their frequency coordinated by software: 0 1 maximum transition latency: 109 us. hardware limits: 800 MHz - 1.90 GHz available frequency steps: 1.90 GHz, 1.80 GHz, 1.60 GHz, 800 MHz available cpufreq governors: conservative, performance current policy: frequency should be within 800 MHz and 1.90 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 1.90 GHz. Отсюда нужно выдрать частоту: current CPU frequency is 1.90 GHz. Пока что только так работает:
На счет скорости не знаю. Интересует более красивое/рациональное решение. Сообщение отредактировал RazrFalcon - 28.5.2011, 23:40 |
|
|
vankleef |
29.5.2011, 1:35
Сообщение
#7
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
извиняюсь за "на скорую руку", поздно, голова еле варит)
|
|
|
RazrFalcon |
29.5.2011, 1:42
Сообщение
#8
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Ухты! О таком варианте даже не догадывался. Спасибо.
|
|
|
vankleef |
29.5.2011, 14:52
Сообщение
#9
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 20:20 |