Допустим, дана строка "ab+0.1973-1.1"
Она обрабатывается посимвольно через foreach. Нужно удалить из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей.
С помощью чего это делается? Находил способ удаления символов до определенного знака, но тут определенного знака нет, т.к. может быть дана строка например "ab+0.1973+1.1" и уже не сработает.
Знаю, что ещё можно через Remove, но не знаю, как.
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _270г
{
class Program
{
static void Main(string[] args)
{
int flag,k,ch;
flag = 0;
k = 0;
ch = 0;
string str = "ab+0.1973-1.1";
foreach (char c in str)
{
ch++;
if ('.' == c)
{
flag = 1;
}
if ((flag == 1) && (char.IsDigit(c)))
{
k++;
if (k == 3)
{
while (char.IsDigit(c))
{
str = str.Remove(ch-1,1);
}
}
}
}
Console.WriteLine(str);
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости