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