improved part 2, fixed regex select
This commit is contained in:
parent
b2d8d4fc40
commit
dac6f4a0c5
@ -19,23 +19,10 @@
|
||||
|
||||
private int GetValueFromLine(string line)
|
||||
{
|
||||
MatchCollection matchCollection = Regex.Matches(line, @"(\d)");
|
||||
List<Match> captures = matchCollection.ToList();
|
||||
|
||||
// replace the text with numbers
|
||||
captures.AddRange(Regex.Matches(line, @"(one)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(two)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(three)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(four)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(five)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(six)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(seven)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(eight)"));
|
||||
captures.AddRange(Regex.Matches(line, @"(nine)"));
|
||||
captures = captures.OrderBy(x => x.Index).ToList();
|
||||
|
||||
// get all the items
|
||||
List<Match> matches = Regex.Matches(line, @"(\d|one|two|three|four|five|six|seven|eight|nine)").OrderBy(x => x.Index).ToList();
|
||||
// merge first and last index as one
|
||||
string values = GetStringAsNumber(captures.First().Value) + GetStringAsNumber(captures.Last().Value);
|
||||
string values = GetStringAsNumber(matches[0].Value) + GetStringAsNumber(matches[^1].Value);
|
||||
// make an int
|
||||
return int.Parse(values);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user