Попытка чтения данных из текстового файла с помощью приложения С#. Существует несколько строк данных, и каждая из них начинается с целого числа, а затем идет группа двойных значений. Часть текстового файла выглядит следующим образом,
33 0.573140941467E-01 0.112914262390E-03 0.255553577735E-02 0.497192659486E-04 0.141869181079E-01-0.147813598922E-03
34 0.570076593453E-01 0.100112550891E-03 0.256427138318E-02-0.868691490164E-05 0.142821920093E-01-0.346011975369E-03
35 0.715507714946E-01 0.316132133031E-03-0.106581466521E-01-0.920513736900E-04 0.138018668842E-01-0.212219497066E-03
Здесь 33, 34, 35 - целочисленные значения, за которыми следуют 6 двойных значений. И эти двойные значения не обязательно имеют пробел или какой-либо другой разделитель между ними. то есть, если двойное число отрицательно, то перед ним будет "-", и это займет место. Таким образом, в принципе, возможно, что все 6 двойных значений будут вместе.
Теперь проблема в том, как извлечь это изящно?
Что я пробовал:
String.Split(' ');
Это не сработает, поскольку не гарантируется пробел между начальными целочисленными значениями и остальными двойными значениями.
Это может быть легко решено в C++ с помощью sscanf
.
double a, b, c, d, e, f;
sscanf(string, "%d %lf%lf%lf%lf%lf%lf", &a, &b, &c, &d, &e, &f);
// here string contains a line of data from text file.
Текстовый файл, содержащий двойные значения, создается сторонним инструментом, и я не могу контролировать его вывод.
Есть ли способ, как целые и двойные значения могут быть изящно извлечены построчно?