В строке заменить все вхождения одного символа на другой - C#

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

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

Ребят вот такая простенькая задачка: Написать метод, входными параметрами которого являются строка, два символа. Метод должен заменить в строке все вхождения первого символа на символ «*» если рядом с этим символом не стоит второй символ. При решении не использовать готовы строковые функции. Я то прогу написал, но возможно ли сам метод упростить еще, согласно условию, и вообще есть ли иной оптимальный вариант решения?
class Program
    {
        static void Main(string[] args)
        {
            string str = "vesna leto zima osenh";
            char a = 'e';
            char b = 't';
            Console.WriteLine(funktsiya(str, a, b));
            Console.ReadKey();
        }
 
        public static string funktsiya(string str, char a, char b)
        {
            char[] simvoly = str.ToCharArray();
            for (int i = 0; i < simvoly.Length; i++)
            {
                if(simvoly[i] == a && simvoly[i + 1] != b)
                {
                    simvoly[i] = '*';
                }
            }
            string str1 = new string(simvoly);
            str = str1;
            return str;
        }
    }

Решение задачи: «В строке заменить все вхождения одного символа на другой»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            char[] str = "et vesna leto zima osenh ye".ToCharArray();
            
            char first = 'e';
            char second = 't';
            char what = '*';
 
            for (int i = 0; i < str.Length; i++)
            {
                char left = i > 0 ? str[i - 1] : '\0';
                char curr = str[i];
                char right = i == str.Length - 1 ? '\0' : str[i + 1];
 
                if (curr == first && left != second && right != second) str[i] = what;
            }
 
            string newstr = new string(str);
 
            Console.WriteLine(newstr);
            
            Console.ReadKey();
        
        }
    }
}

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


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

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

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