Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Chuckcha
4 / 4 / 2
Регистрация: 12.08.2011
Сообщений: 95
1

Множественный String.Replace: есть ли способ сделать одновременную замену

06.01.2012, 20:24. Просмотров 1878. Ответов 4
Метки нет (Все метки)

Существуют строковые переменные, в которых необходимо все вхождения 20 подстрок заменить на 20 других (для каждой - свой замена). Если использовать String.Replace, то будет создано дополнительно 20 строковых переменных (и неизвестно когда ещё освободятся из памяти). Есть ли в C# способ сделать одновременную замену? Regex.Replace позволяет заменить несколько разных подстрок на одну, а мне нужно несколько разных на несколько других.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2012, 20:24
Ответы с готовыми решениями:

Есть способ сделать покороче?
Здравствуйте! Давно интересовал один вопрос, а именно: Есть, например, такая...

List<string, string, string> есть ли в C# что-то подобное
Мне надо добавить в List не только имя файла, но и некоторые строки из этого...

LinqToXML -> TreeView. Есть ли универсальный способ?
.NET 4.0, Windows Forms Application. Есть ли универсальный способ заполнить...

Есть ли способ вставлять кнопки в ячейки таблицы?
Здравствуйте, товарищи программисты! Нужно чтобы в отображаемом наборе данных...

Почему string.Replace не всегда производит замену символов?
Подскажите почему string.Replace не всегда производит замену символов? В первом...

4
Петррр
6161 / 3462 / 897
Регистрация: 28.10.2010
Сообщений: 5,926
06.01.2012, 20:31 2
C#
1
2
3
4
5
6
string s = "строка".Replace('c', 'c')
    .Replace('т', 't')
    .Replace('р', 'p')
    .Replace('о', 'o')
    .Replace('к', 'k')
    .Replace('а', 'a');
Переменная то одна
0
Chuckcha
4 / 4 / 2
Регистрация: 12.08.2011
Сообщений: 95
06.01.2012, 20:36  [ТС] 3
Цитата Сообщение от Петррр Посмотреть сообщение
C#
1
2
3
4
5
6
string s = "строка".Replace('c', 'c')
    .Replace('т', 't')
    .Replace('р', 'p')
    .Replace('о', 'o')
    .Replace('к', 'k')
    .Replace('а', 'a');
Переменная то одна
Переменная одна, но в здесь будет создано ещё 6 переменных, что занимает процессорное время и память.
0
I2um1
Злой няш
1408 / 1106 / 374
Регистрация: 05.04.2010
Сообщений: 1,949
06.01.2012, 20:41 4
Chuckcha, вместо string использовать StringBuilder и его Replace. Внутри он реализован как массив char.
2
Chuckcha
4 / 4 / 2
Регистрация: 12.08.2011
Сообщений: 95
06.01.2012, 20:45  [ТС] 5
Цитата Сообщение от Blood-Angel Посмотреть сообщение
Chuckcha, вместо string использовать StringBuilder и его Replace. Внутри он реализован как массив char.
Точно, это хороший вариант
0
06.01.2012, 20:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2012, 20:45

Как правильно сделать замену? REPLACE()
Всем привет! Возникла задача изменить формат ссылок с .html на .php в БД...

Replace, как сделать замену только для полного совпадения
Даны список аббревиатур и их расшифровка. Также есть предложения, в которых эти...

Как сделать замену слова в строке без использования функций библиотеки string?
вводится строка =&gt; вводится слово, которое нужно заменить(если оно есть в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru