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

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

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

Ребят вот такая простенькая задачка: Написать метод, входными параметрами которого являются строка, два символа. Метод должен заменить в строке все вхождения первого символа на символ «*» если рядом с этим символом не стоит второй символ. При решении не использовать готовы строковые функции. Я то прогу написал, но возможно ли сам метод упростить еще, согласно условию, и вообще есть ли иной оптимальный вариант решения?
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. string str = "vesna leto zima osenh";
  6. char a = 'e';
  7. char b = 't';
  8. Console.WriteLine(funktsiya(str, a, b));
  9. Console.ReadKey();
  10. }
  11. public static string funktsiya(string str, char a, char b)
  12. {
  13. char[] simvoly = str.ToCharArray();
  14. for (int i = 0; i < simvoly.Length; i++)
  15. {
  16. if(simvoly[i] == a && simvoly[i + 1] != b)
  17. {
  18. simvoly[i] = '*';
  19. }
  20. }
  21. string str1 = new string(simvoly);
  22. str = str1;
  23. return str;
  24. }
  25. }

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

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.  
  13.             char[] str = "et vesna leto zima osenh ye".ToCharArray();
  14.            
  15.             char first = 'e';
  16.             char second = 't';
  17.             char what = '*';
  18.  
  19.             for (int i = 0; i < str.Length; i++)
  20.             {
  21.                 char left = i > 0 ? str[i - 1] : '\0';
  22.                 char curr = str[i];
  23.                 char right = i == str.Length - 1 ? '\0' : str[i + 1];
  24.  
  25.                 if (curr == first && left != second && right != second) str[i] = what;
  26.             }
  27.  
  28.             string newstr = new string(str);
  29.  
  30.             Console.WriteLine(newstr);
  31.            
  32.             Console.ReadKey();
  33.        
  34.         }
  35.     }
  36. }

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


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

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

5   голосов , оценка 3.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы