Как вставить пробел в строке после заданной подстроки

На вход программе подается две строки S и Sub, каждая в отдельной строке. Строка Sub гарантированно содержится в строке S.
Вставить после указанной строки Sub в строке S один пробел. Результат вывести на консоль.

string S = Console.ReadLine();
string Sub = Console.ReadLine();
 
var newS = S.IndexOf(Sub, StringComparison.CurrentCultureIgnoreCase);

Console.WriteLine(S.Insert(newS, " "));

Не могу понять, что надо добавить, чтобы сделать без цикла, подскажите пожалуйста.


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

Автор решения: Nowhere Man

Нужно использовать метод Substring и добавить к позиции newS длину подстроки, после которой нужно выполнить вставку.

Дополнение: Также можно использовать метод Insert с правильно рассчитанной позицией вставки.

string S = Console.ReadLine(); 
string Sub = Console.ReadLine();

var newS = S.IndexOf(Sub, StringComparison.CurrentCultureIgnoreCase) + Sub.Length;

Console.WriteLine(S.Substring(0, newS) + " " + S.Substring(newS));
// вариант с Insert
Console.WriteLine(S.Insert(newS, " "));
→ Ссылка