Выделить из строки дату, сумму и другую информацию - C#
Формулировка задачи:
Приветствую!
Есть переменная Line типа string в которой находится строка, полученная из txt документа. Пример строки:
Необходимо извлечь из строки все данные, в разные переменные.
Для даты нашел хороший паттерн (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d , но не понимаю как экранировать два подряд идущих документа \d\d, есть вариант заменить их на элемент (16|17).
Есть вариант читать посимвольно для , но количество цифр в сумме может быть как меньше так и больше, что приводит к ошибке. Помогите пожалуйста решить эту задачу с помощью паттернов.
Текст текст текст Текст текст текст Текст текст текст c
01/10/2016
по09/10/2016
на общую сумму430,00
в кол-ве1
, на сумму857,54
согласно документа123456
от10/10/2016
Решение задачи: «Выделить из строки дату, сумму и другую информацию»
textual
Листинг программы
string str = "Текст текст текст Текст текст текст Текст текст текст c 01/10/2016 по 09/10/2016 на общую сумму 430,00 в кол-ве 1, на сумму 857,54 согласно документа 123456 от 10/10/2016"; string pattern = @"(?'date'(?:[0-9]?\d{2}\/[0-9]?\d{2}\/[0-9]?\d{4}))|(?'sum'(?:[+-]?\d*\,\d+))|(?'number'(?:\d{6}))|(?'count'(?:\d+))"; Regex newReg = new Regex(pattern); MatchCollection matches = newReg.Matches(str); Console.WriteLine("Значение {0}", matches[0].Captures[0].Value);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д