41 public static IReadOnlyDictionary<int, double>
ParseLines(
42 IEnumerable<string> lines)
44 ArgumentNullException.ThrowIfNull(lines);
47 new Dictionary<int, double>();
49 foreach (
string? line
in lines)
55 VariableNameRegex().Match(
58 if (!nameMatch.Success ||
60 nameMatch.Groups[1].Value,
62 CultureInfo.InvariantCulture,
72 StringSplitOptions.RemoveEmptyEntries |
73 StringSplitOptions.TrimEntries);
82 StringComparison.Ordinal));
85 nameIndex + 3 < fields.Length &&
87 fields[nameIndex + 3],
88 out
double documentedActivity))
96 currentLine[(nameMatch.Index + nameMatch.Length)..];
98 MatchCollection numbers =
99 NumberRegex().Matches(suffix);
101 if (numbers.Count == 0)
109 for (
int index = numbers.Count - 1; index >= 0; index--)
112 numbers[index].Value,
113 out
double fallbackActivity))