Даны три строки: S1, S2, S3. Заменить в строке S1 первое вхождения строки S2 на S3 - C#
Формулировка задачи:
Я сделал программу которая заменяет ВСЕ вхождения строки s2 в строке s1 на s3, но как сделать, что бы именно первое вхождение заменяло не додумался. подскажите плз
Console.WriteLine("Введите строку S1"); string s1 = Console.ReadLine(); Console.WriteLine("Введите строку S2"); string s2 = Console.ReadLine(); Console.WriteLine("Введите строку s3"); string s3 = Console.ReadLine(); string ns1 = s1.Replace(s2, s3); Console.WriteLine(ns1); Console.ReadKey();
Решение задачи: «Даны три строки: S1, S2, S3. Заменить в строке S1 первое вхождения строки S2 на S3»
textual
Листинг программы
using System; namespace CybApp { class Program { static void Main() { Console.WriteLine("Введите строку S1"); string s1 = Console.ReadLine(); Console.WriteLine("Введите строку S2"); string s2 = Console.ReadLine(); Console.WriteLine("Введите строку s3"); string s3 = Console.ReadLine(); int startIndex = s1.IndexOf(s2); if (startIndex >= 0) { char[] result = new char[s1.Length - s2.Length + s3.Length]; int idx = 0; for (int i = 0; i < startIndex; result[idx++] = s1[i++]) ; for (int i = 0; i < s3.Length; result[idx++] = s3[i++]) ; for (int i = startIndex + s2.Length; i < s1.Length; result[idx++] = s1[i++]) ; s1 = new String(result); } Console.WriteLine(s1); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д