Добавить пробелы длиной = слову

Дана строка, содержащая слова, разделенные одиночными пробелами. Сформировать строку, в которой количество пробелов перед каждым словом будет равно его длине. Какой использовать алгоритм действий? Уже все перепробовал, ничего на ум не приходит больше... Пытался и через массивы, и через Padleft(). Уже не знаю что придумать.


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

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

Если строка небольшая, то

var str = "longstring  one two   three"
    .Split(' ', StringSplitOptions.RemoveEmptyEntries)
    .Select(x=>new string(' ', x.Length) + x)
    .Aggregate((x,y)=>x+y);
    
Console.WriteLine(str);

Если большая, то надо StringBuilder использовать.

→ Ссылка