В сообщении может содержаться дата в формате дд.мм.гггг. Заменить её на дату предыдущего дня - C#
Формулировка задачи:
В сообщении может содержаться дата в формате дд.мм.гггг. В заданном формате дд - целое число из диапазона от 1 до31, мм - целое число из диапазона от 1 до 12, а гггг - целое число из диапазона от 1900 до 2010 (если какая-то часть формата нарушена, то данная подстрока в качестве даты не рассматривается). Замените каждую дату в сообщении на дату предыдущего дня.
Есть рабочая программа:
как сделать проверку на корректность даты, что бы например нельзя было бы ввести дату 32.01.2014например
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Text.RegularExpressions; namespace ConsoleApplication1 { class xeks { public void m() { Console.WriteLine("введиет дату в формате дата.месяц.год(пример 30.01.2016)"); string text = Convert.ToString(Console.ReadLine()); string pattern = "[0-3][0-9].[0-1][0-9].[1,2][9,0][0-9][0-9]"; MatchCollection matches; Regex reg = new Regex(pattern); matches = reg.Matches(text); { for (int i = 0; i < matches.Count; i++) { string updDate = DateTime.Parse(matches[i].Value).AddDays(-1).ToShortDateString(); text = text.Replace(matches[i].Value, updDate); } Console.WriteLine("дата предыдущенго дня {0}", text); } } } class Program { static void Main(string[] args) { xeks f1 = new xeks(); f1.m(); Console.ReadLine(); } } }
Решение задачи: «В сообщении может содержаться дата в формате дд.мм.гггг. Заменить её на дату предыдущего дня»
textual
Листинг программы
for (int i = 0; i < matches.Count; i++) { if (DateTime.TryParse(matches[i].Value)) { string updDate = DateTime.Parse(matches[i].Value).AddDays(-1).ToShortDateString(); text = text.Replace(matches[i].Value, updDate); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д