Michael Maddison
michael at ddisolutions.com.au
Thu Mar 29 22:41:21 CDT 2012
Adam,
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.
private int GetRecLength ( string value )
{
//x hr 3 min 8 sec
string hr = string.Empty, min = string.Empty, sec =
string.Empty;
int val = 0;
//sec = value.Substring ( value.Length - 6, 2 );
//min = value.Substring(value.Length -
//@"(^[0-9]*$)" min\s(?<sec>\d\S+)
Regex r = new Regex ( @"[0-9]+" );
MatchCollection mc = r.Matches ( value );
min = mc [ 0 ].Value;
sec = mc [ 1 ].Value;
//Change to looping through collection members
if ( !string.IsNullOrEmpty ( min ) ) val = Convert.ToInt32 (
min ) * 60;
if ( !string.IsNullOrEmpty ( sec ) ) val = Convert.ToInt32 (
sec ) + val;
//
//(?<min>\d\S+\s)min\s(?<sec>\d\S+)
return val;
}
Cheers
Michael M