поэтому я получил дюжину строк, которые я загружаю, пример ниже, который мне нужно разобрать.Элегантное решение для синтаксического анализа строк
"036 AUD Австралия и 1 4,713831 4,728015 4,742199"
"Vel. Britanija 826 GBP 1 10,300331 10,331325 10,362319"
Так что моя первая идея была подсчитывать вручную, где номер, который мне нужен (второй, 4,728015 или 10,331325 в экзаменах) и получить подстроку. (52,8) Но тогда я понял, что немногие из строк, которые обрабатываются, имеют> 9 число в нем, так что мне понадобится подстрока (51,9) для этого случая, поэтому я не могу это сделать
Вторая идея состояла в том, чтобы сохранить все число, например, символы в vecto r, а затем получить вектор [4] и сохранить его в отдельную переменную.
И третий - просто закольтать строку, пока я не расположил себя после 5-й группы пространств, а затем подстрою ее.
Просто ищите информацию о том, что было бы «лучшим».
введите подстроки, разделенные пробелами, используя getline. слияние ранних, пока у вас не будет 7. use group 5 – sp2danny
Формат данных затрудняет * элегантное * решение, тем более что в первом поле допускаются пробелы. Я предлагаю читать строку текста и искать первый символ без цифр; который определяет содержание первого поля. Остальные поля можно извлечь, используя 'std :: istringstream' и' operator >> '. –
Вид новичка здесь, могу я беспокоить вас для примера кода? – puernos