Регулярные выражения.Преобразовать время к формату чч:мм, применив правила округления до целого числа минут - C#
Формулировка задачи:
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания.
В сообщении может содержаться время в формате чч:мм:сс. В заданном формате чч – целое число из диапазона от 00 до 24, мм и сс – целые числа из диапазона от 00 до 60 (если какая-то часть формата нарушена, то данная подстрока в качестве даты не рассматривается). Преобразуйте каждое время к формату чч:мм, применив правило округления до целого числа минут.
Решение задачи: «Регулярные выражения.Преобразовать время к формату чч:мм, применив правила округления до целого числа минут»
textual
Листинг программы
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication181
{
class Program
{
static void Main(string[] args)
{
var str = @"23:16:37, 01:12:05";
var pattern = "(?<hour>0[0-9]|1[0-9]|2[0-3]):(?<min>[0-5][0-9]):(?<sec>[0-5][0-9])";
str = Regex.Replace(str, pattern, (m) =>
{
var h = int.Parse(m.Groups["hour"].Value);
var min = int.Parse(m.Groups["min"].Value);
var sec = int.Parse(m.Groups["sec"].Value);
if (sec >= 30) min++;
return string.Format("{0:00}:{1:00}", h, min);
});
Console.WriteLine(str);
Console.ReadLine();
}
}
}