Массовая замена статичных значений. Как реализовать одним кубиком?

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3
Приветствую. Появилась острая необходимость массово заменить в тексте определенные символы.

Например, есть переменная с тестом на русском и английском языке. Нам нужно оставить только русский язык.
Что я сделал? Подключил отдельный список и впихнул туда английский алфавит. Далее по циклу идет затирание английских символов путем замены на пустое значение каждой буквы из списка.

Но цикл отнимает много времени. Как это можно сделать одним действием?

Находил на форуме вот такое решение:

Код:
var str = "Исходная строка 12 34 42";
var dics= new Dictionary<string, string>(
        StringComparer.OrdinalIgnoreCase)
        {
            {"12", "10"},
            {"2", "13"},
            {"34", "43"},
            {"42", "23"},
        };
var rez= Regex.Replace(str, match => { return dics.ContainsKey(match.Groups[1].Value) ?dic[match.Groups[1].Value] : match.Value; });
Но у меня выдает ошибку(
Буду признателен за помощь.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
может из за этого
2018-01-26_190230.png
 
  • Спасибо
Реакции: Emfortes

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3
Поменял.
Но теперь выдает следующее сообщение:

Код:
Компиляция кода  Ошибка в действии "CS0120" "Для нестатического поля, метода или свойства "System.Text.RegularExpressions.Regex.Replace(string, System.Text.RegularExpressions.MatchEvaluator)" требуется ссылка на объект". [Строка: 9; Cтолбец: 10]
К сожалению я с сишарпом пока на "Вы"
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
ну так задай static
 
  • Спасибо
Реакции: Emfortes

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Эмм, стесняюсь спросить...
Можно ткнуть пальцем - как это задавать?)
было бы интересно видеть куда ещё тыкать, а так только в небо, ну или я за тебя поправлю на угад :dt: )) , надеюсь ошибка пропадёт
 

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3
На всякий случай файлик приложу. Там рабочий вариант по циклу и неполноценный вариант с кодом.
Таки и не нагуглилось решение. Вероятно, что кроме цикла никак не сделаешь, ни на сишарпе, ни на джаве.
 

Вложения

shved2

Client
Регистрация
16.07.2015
Сообщения
146
Благодарностей
53
Баллы
28
Код:
var text = project.Variables["переменная"].Value;

text = text.Replace("a", "")
               .Replace("b", "")
               .Replace("c", "")
               .Replace("d", "")
               .Replace("e", "")
               .Replace("f", "");

project.Variables["переменная"].Value = text;
Вот так можно, только осталось весь алфавит дописать в верхнем и нижнем регистре.
 
  • Спасибо
Реакции: yourmind и Emfortes

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3
Код:
var text = project.Variables["переменная"].Value;

text = text.Replace("a", "")
               .Replace("b", "")
               .Replace("c", "")
               .Replace("d", "")
               .Replace("e", "")
               .Replace("f", "");

project.Variables["переменная"].Value = text;
Вот так можно, только осталось весь алфавит дописать в верхнем и нижнем регистре.
И это сработало!) Большое человеческое спасибо:-)
 

shved2

Client
Регистрация
16.07.2015
Сообщения
146
Благодарностей
53
Баллы
28
Надеюсь продолжение кода ты сгенерил зенкой, а не ручками писал:D
Как оказалось можно было сделать всё еще проще 2-мя стандартными кубиками замены:D
 
  • Спасибо
Реакции: Emfortes

Emfortes

Client
Регистрация
28.08.2015
Сообщения
29
Благодарностей
20
Баллы
3
Надеюсь продолжение кода ты сгенерил зенкой, а не ручками писал:D
Как оказалось можно было сделать всё еще проще 2-мя стандартными кубиками замены:D
Да, это тоже здорово. С английским алфавитом прокатит:ay:
А если допустим корейский алфавит затирать, то тот кубик на сишарпе прямо выручает. Генерируем конечно зенкой)
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)