|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
Как лучше всего парсить строку13.01.2021, 22:22. Показов 1569. Ответов 13
Метки нет (Все метки)
Как лучше всего парсить большую(около 1Мб текста). Есть что-то лучше чем впихнуть это в stringstream?
Строка это json и там надо выбрать значения по типу "name" : "somename" и "price" : "2000"
0
|
|
| 13.01.2021, 22:22 | |
|
Ответы с готовыми решениями:
13
Как лучше всего разделить строку на несколько подстрок? Как парсить строку json? Чем проще всего парсить HTML документы? |
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 13.01.2021, 22:29 | |
|
0
|
|
|
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
| 13.01.2021, 22:29 | |
|
А разве нет уже готовых парсеров json?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 13.01.2021, 22:32 | ||
|
Добавлено через 2 минуты Только, вроде вопрос был не про парсеры json, а как наиболее эффективно распарсить файл
0
|
||
|
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
| 13.01.2021, 22:45 | |
|
0
|
|
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 13.01.2021, 22:47 [ТС] | |
|
jugu, строку и желательно без левых средств
Добавлено через 29 секунд oleg-m1973, парсить вручную это как?)
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 13.01.2021, 22:54 | |
|
0
|
|
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 13.01.2021, 22:59 [ТС] | |
|
oleg-m1973, допустим, я могу разделить строку, а парсить то как? с помощью std::string::find?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 13.01.2021, 23:03 | ||
|
0
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 13.01.2021, 23:06 [ТС] | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 13.01.2021, 23:07 | |
|
Там загружаешь из файла буфер char buf[2048] ищешь в нём свою строку, например, начинающуюся с кавычкы. Потом ищешь закрывающуюся кавычку. Если нашёл, то хорошо. Не нашел - сохраняешь остаток буфера куда-нибудь и начитываешь в тот же буфер следующий кусок.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 14.01.2021, 00:10 | |
|
oleg-m1973, а почему не весь файл загружать целиком ?
Как по мне менее 10мб даже задумываться про дробление не стоит. И чем плох std::string для текущей цели ?
0
|
|
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||
| 14.01.2021, 00:34 [ТС] | ||
|
SmallEvil,
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 14.01.2021, 21:35 | |
Сообщение было отмечено ReYalp как решение
Решение
эффективность бывает разная,
Скорость исполнения кода - читать в буфер , работать своими средствами, оптимизировать узкие места. Скорость написания кода и его продвижения - стандартными (обернутые под конкретную задачу) средствами языка и STL. Вот не проверял, но кажется мне что зарезервировав для строки память под весь размер файла и прочитав его. Никаких нагрузок в этом месте быть не должно. А дальше ограничение только Вашей фантазией. Смотря какой формат файла, частично распарсить можно прямо при чтении, например по строкам. (или тем же кавычкам "" по ; как в cpp файлах и т.д.) Немного медленнее, но зато пол работы сделано ... Если формат файла позволяет обработать за один проход, еще и форматированным вводом, то поток самое то. (basic_istream) Добавлено через 4 минуты при создании istringstream нужно учитывать что он делает копию строки для себя.
0
|
|
| 14.01.2021, 21:35 | |
|
Помогаю со студенческими работами здесь
14
Что лучше всего читать/смотреть где лучше всего практиковаться и как в принципе лучше всего учиться программированию Где и как лучше всего хранить строку, которая будет подвергаться значительным изменениям Как лучше парсить Excel Как лучше парсить HTML? Как лучше парсить XML? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|