В сообщении может содержаться время в формате чч:мм. Увеличите время на n минут - C#
Формулировка задачи:
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Обработать строку согласно варианту задания, используя методы класса Regex.
1. В сообщении может содержаться время в формате чч:мм. В заданном формате чч - целое число из диапазона от 00 до 24,мм - целое число из диапазона от 00 до 60 (если какая-то часть формата нарушена, то данная подстрока в качестве даты не рассматривается). Увеличите время на n минут.
Решение задачи: «В сообщении может содержаться время в формате чч:мм. Увеличите время на n минут»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
var text = "Встреча состоится в 1:15.";
Console.WriteLine(text);
Console.WriteLine("Пардон. "+ReplaceTime("Встреча состоиться в 1:15", 65));
Console.ReadKey();
}
private static string ReplaceTime(string sentence, int minutes)
{
var templ = @"\d{1,3}:\d{1,3}";
var results = Regex.Matches(sentence, templ);
for (var i = 0; i < results.Count; i++)
{
var hhss = results[i].Value.Split(':');
var hh = Convert.ToInt32(hhss[0]);
var mm = Convert.ToInt32(hhss[1]);
if (hh >= 0 && hh < 24 && mm >= 0 && mm < 60)
{
var time = new TimeSpan(hh, mm, 0).Add(new TimeSpan(00, 65, 0));
sentence = Regex.Replace(sentence, templ, time.ToString(@"hh\:mm"));
}
}
return sentence;
}
}