Строка: Преобразовать последовательность, удалив из групп подряд идущих цифр, все цифры начиная со 3-ей - C#
Формулировка задачи:
Даны символыs1,s2, … Известно, что символs1 отличен от пробела и что средиs2,s3, … имеется хотя бы один пробел. Рассматриваютсяs1, …,sn – символы, предшествующие первому пробелу (n заранее неизвестно). Преобразовать последовательностьs1, …,sn: удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, ab + 0.1973− 1.1 преобразуется вab + 0.19− 1.1);
помогите на c #
Решение задачи: «Строка: Преобразовать последовательность, удалив из групп подряд идущих цифр, все цифры начиная со 3-ей»
textual
Листинг программы
using System.Text.RegularExpressions;
static void Main(string[] args)
{
string str = "ab + 0.1973 - 1.1 ";
string newline = null;
foreach(string line in str.Split(' '))
{
if(new Regex(@"\d+.\d+").IsMatch(line))
{
if(line.Split('.')[1].Length > 2)
{
newline += line.Remove(line.IndexOf('.') + 3) + " ";
}
else
{
newline += line + " ";
}
}
else
{
newline += line + " ";
}
}
Console.WriteLine(newline);
Console.ReadLine();
}