Как убрать из ввода практически все точки с запятой?

Моя программа считывает средний балл, а точка с запятой - разделитель, и если пользователь напишет вместо одной точки с запятой несколько, то программа должна убрать их и оставить только одну. Например:

Было: 5;;;4;;4;;;;
Стало: 5;4;4;

Я уже сделал примерно то же самое, но удаляя все пустые места в массиве, при этом не изменяя сам ввод. И да, насчёт точки с запятой в конце, про неё не надо писать. Моя программа её убирает


Ответы (1 шт):

Автор решения: aepot

Если средний балл, то

string text = "5;;;4;;4;;;;";
string[] items = text.Split(";", StringSplitOptions.RemoveEmptyEntries);
double avg = items.Select(double.Parse).Average();
Console.WriteLine($"Average = {avg:F1}");

Вывод в консоль

Average = 4.3

Если надо просто вывести через точку с запятой

string text = "5;;;4;;4;;;;";
string[] items = text.Split(";", StringSplitOptions.RemoveEmptyEntries);
string result = string.Join(";", items);
Console.WriteLine(result);

Вывод в консоль

5;4;4
→ Ссылка