Gustav Brock
Gustav at cactus.dk
Thu Mar 29 03:19:32 CDT 2012
Hi Michael
You could cheat a little and use a reverse split and timespan:
<C#>
// string t = "1 hr 12 min 26 sec";
// string t = " 12 min 26 sec";
string t = " 26 sec";
string time = "0:0:" + t.TrimStart().Replace("hr", ":").Replace("min", ":").Replace("sec", "").Replace(" ", "");
Char[] separators = {':'};
IEnumerable<string> timeParts= time.Split(separators).Reverse();
TimeSpan timeSpan = new TimeSpan(int.Parse(timeParts.ElementAt(2)), int.Parse(timeParts.ElementAt(1)), int.Parse(timeParts.ElementAt(0)));
int seconds = Convert.ToInt32(timeSpan.TotalSeconds);
Console.WriteLine(time);
Console.WriteLine(seconds.ToString());
Console.ReadKey();
</C#>
/gustav
>>> michael at ddisolutions.com.au 29-03-2012 07:04 >>>
Hi Guys,
Anyone good at regex?
My strings could look like any of these
1 sec
11 sec
1 min 5 sec
1 min 26 sec
1 hr 1 min 5 sec
1 hr 12 min 26 sec
The goal is to get total # of seconds but splitting into a
MatchCollection would do.
Any takers?
Cheers
Michael M