Как найти только первое вхождение строки? - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите как сделать так, чтобы при смене регистра он брал только первое вхождение word(привет!) и находил его в input(ПеРгамент клеопатры Из египта отраВлЕн Токсином!) и так далее П нашел 1 поставил пошел дальше на Р, а не каждую подходяющую букву менял ПеРгамент клеопатры Из египта отраВлЕн Токсином! 10100000000000000000100000000000010100100000001
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace ConsoleApplication4
{
    class Program
    {
        public static char[] word = File.ReadAllText(@"D:\word.txt").ToCharArray();
        public static string input = File.ReadAllText(@"D:\input.txt");
       
        static void Main(string[] args)
        {
            Console.WriteLine("Шифруемое слово: " + new string(word) + "\n");
            input = input.Replace(' ', '_');
            input = input.ToLower();
            Console.WriteLine("Криптограмма: " + input + "\n");
            Console.WriteLine("Ключ криптограммы: ");
            Crypt();
            Console.ReadLine();
        }
 
        public static void Crypt()
        {
            char[] ca = input.ToCharArray();
            char outpur;
            for (int i = 0; i < ca.Length; i++)
            {
                outpur = word.Contains(ca[i]) ? '1' : '0';
                Console.Write(outpur);
            }
        }
    }
}

Решение задачи: «Как найти только первое вхождение строки?»

textual
Листинг программы
        static void Main(string[] args)
        {
            string word = "привет";
            string input = "ПеРгамент клеопатры Из египта отраВлЕн Токсином!";
 
            Console.WriteLine("Шифруемое слово: " + word + "\n");
            Console.WriteLine("Криптограмма: " + input + "\n");
 
            input = input.ToLower();
            word = word.ToLower();
 
            Console.WriteLine("Ключ криптограммы: " +  Crypt(word,input));
           
            Console.ReadLine();
        }
 
        static string Crypt(string word, string input)
        {
            var sb = new StringBuilder();
            for (int i = 0,j=0; i < word.Length; i++)
            {
                for (; j < input.Length; j++)
                {
                    if (word[i] == input[j])
                    {
                        sb.Append("1");
                        j++;
                        break;
                    }
 
                    sb.Append("0");
                }
            }
            return sb.ToString();
        }

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


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

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

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