Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
 
Suppir
Форумчанин
19 / 19 / 2
Регистрация: 08.08.2011
Сообщений: 686
12.03.2012, 15:38     Как заменить набор символов на другой набор
  #1
В Perl есть оператор tr//, который меняет одни символы на другие. Например:

Код Perl 6
1
$code =~ tr/eopaxcm/еорахсм/;
при этом латинская "e" заменится на русскую "е"
латинская "o" заменится на русскую "о"
и т.д.

А в c# как в строке заменить один набор символов на другой?

чтобы не писать кучу раз
Код C#
1
2
code = code.Replace("e", "е");
code = code.Replace("o", "о");
и т.д.

Добавлено через 12 минут
Оператор tr/// делает замены в строке одних символов на другие. Есть ли аналог в c# ?
AdAgent
Объявления
12.03.2012, 15:38
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 15:38

Посмотрите здесь:

C# Набор данных,набор объектов

C# WPF Пишу FontDialog для WPF, что такое "набор символов" ?

C# Вывести набор символов, изображающих первые N цифр дробной части этого вещественного числа

C# Как закодировать текст в непонятный набор символов

C# ASP.NET Как редактировать и читать набор одновременно?

C# ASP.NET Необходимо добавить в XML набор тэгов. Как это из ASP сделать?

C# С нажатием клавиши ввести набор символов в текстовое поле

C# Алгоритм: Как выплатить заданную сумму денюжек за минимальный набор монеток?

C# Набор usercontrols как вертикальный список

C# WPF Как создать набор соединенных между собой линий и раскрасить каждую линию?

kolorotur
Форумчанин
5911 / 4914 / 294
Регистрация: 17.09.2011
Сообщений: 8,360
12.03.2012, 16:02
  #2
Насколько мне известно, готового эквивалента нет.

Вместо кучи Replace (медленно) можно циклом пройтись по всем символам и заменять те, которые подлежат замене.
Suppir
Форумчанин
19 / 19 / 2
Регистрация: 08.08.2011
Сообщений: 686
12.03.2012, 16:25  [ТС]
  #3
Понятно, буду пробовать.
Medic84
Форумчанин
6 / 6 / 1
Регистрация: 21.04.2010
Сообщений: 90
13.03.2012, 18:58     Как заменить набор символов на другой набор
  #4
Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string ReplaceStrings(string str, char[] aOldChars, char[] aNewChars)
        {
            string RetStr = str;
            if (aOldChars.Length != aNewChars.Length)
            {
                return str;  //Возвращение неизмененной строки при несовпадении длинн массивов
            }
            
            for (int i = 0; i < aOldChars.Length; i++)
            {
                RetStr = RetStr.Replace(aOldChars[i], aNewChars[i]);
            }
            
            return RetStr;
        }
Ну можно составить что нибудь типа такой функции.
Использование:
Код C#
1
ReplaceStrings("string", new char[] { 'i', 'n', 's' }, new char[] { 'и', 'н', 'с' });
Yandex
Объявления
13.03.2012, 18:58
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.