Даны три строки: 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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы