Как поместить пробелы между символами в выражениях?
Мне нужно, чтобы между "+ - * /" и т.д. помещался 1 пробел, но не трогал цифры и скобки, например:
ВВОД: (5+5 ) - 16 / 4
ВЫВОД: (5 + 5) - 16 / 4
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
string input = Console.ReadLine();
string output = input.Replace(" ", "");
foreach (char c in "+-*/")
{
output = output.Replace($"{c}", $" {c} ");
}
Console.WriteLine(output);
(5+5 ) - 16 / 4
(5 + 5) - 16 / 4
Если нужна более глубокая логика форматирования, например с функциями или унарными знаками, то проще будет спарсить выражение в обратную польскую запись и затем отформатировать обратно. Что-то типа этого может помочь.