Замена текста - C# (183810)

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

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

Подскажите как лучше производить замену одного текста на другой.
Dictionary<int, string> Контейнер = new Dictionary<int, string>();
внутри 1 | текст 1 2 | текст 5 3 | текст 4 ... есть переменная string text = "[1] что нить еще [3] потом еще что нить [2]" Сейчас меняю через цикл
foreach (var element in Контейнер)
                    {
                        text = text.Replace("["+element.Key+"]",element.Value); 
                    }
итог: "текст 1 что нить еще текст 4 потом еще что нить текст 5" Работает так как надо но при Контейнер в более 300 уже ощутимо задумывается. При том что уже видно что все 300 переберать не надо когда в тексте всего 3 значения встретится. Есть ли способ по быстрее производить замену при том что я знаю что изменяемое место заключено в квадратные скобки []
Есть еще идея через Split разобрать а потом собрать в обратном порядке var yty = text.Split(new char[] { '[',']' });

Решение задачи: «Замена текста»

textual
Листинг программы
                string text = @"
[1] что нить еще [3] потом еще что нить [2]
[1] что нить еще [3] потом еще что нить [2]
[1] что нить еще [3] потом еще что нить [2]
[1] что нить еще [3] потом еще что нить [2]
[1] что нить еще [3] потом еще что нить [2]
[1] что нить еще [3] потом еще что нить [2]
.....

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


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

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

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