Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация
 
Suppir
Форумчанин
20 / 20 / 2
Регистрация: 08.08.2011
Сообщений: 733
12.03.2012, 16: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, 16:38     Как заменить набор символов на другой набор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 16:38     Как заменить набор символов на другой набор
Посмотрите здесь:

C# Набор данных,набор объектов
C# WPF Пишу FontDialog для WPF, что такое "набор символов" ?
C# Вывести набор символов, изображающих первые N цифр дробной части этого вещественного числа
C# Как закодировать текст в непонятный набор символов
C# ASP.NET Как редактировать и читать набор одновременно?
C# С нажатием клавиши ввести набор символов в текстовое поле
C# Алгоритм: Как выплатить заданную сумму денюжек за минимальный набор монеток?
C# Набор usercontrols как вертикальный список
kolorotur
Форумчанин
6037 / 5040 / 330
Регистрация: 17.09.2011
Сообщений: 8,593
12.03.2012, 17:02     Как заменить набор символов на другой набор   #2
Насколько мне известно, готового эквивалента нет.

Вместо кучи Replace (медленно) можно циклом пройтись по всем символам и заменять те, которые подлежат замене.
Suppir
Форумчанин
20 / 20 / 2
Регистрация: 08.08.2011
Сообщений: 733
12.03.2012, 17:25  [ТС]     Как заменить набор символов на другой набор   #3
Понятно, буду пробовать.
Medic84
Форумчанин
6 / 6 / 1
Регистрация: 22.04.2010
Сообщений: 90
13.03.2012, 19: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, 19:58     Как заменить набор символов на другой набор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Опции темы

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