Замена regex C#

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63
Есть просто замена текста:
Код:
string text = project.Variables["text"].Value; // переменная с текстом
text = text
    .Replace("11", "успешно")
    .Replace("22", "успешно2")
    .Replace("33", "успешно3")
    .Replace("44", "успешно4");
return text;
А если искать не текст, а Regex, то как?
 
  • Спасибо
Реакции: kagorec

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 498
Благодарностей
3 364
Баллы
113
C#:
string str = "тесттекст";
return Regex.Replace(str, "текст", "test");
 
  • Спасибо
Реакции: bizzon и one

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63
  • Спасибо
Реакции: bezvozni

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 498
Благодарностей
3 364
Баллы
113
как в примере выше
Вот неплохой пример:
C#:
Dictionary<string,string> map = new Dictionary<string,string>()
{
    {"11", "успешно"},
    {"22", "успешно2"},
    {"33", "успешно3"},
    {"44", "успешно4"},
};

string str = "44112233";
Regex regex = new Regex(string.Join("|",map.Keys));
string newStr = regex.Replace(str, m => map[m.Value]);
 
Последнее редактирование:
  • Спасибо
Реакции: bizzon

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 103
Благодарностей
132
Баллы
63
С таким примером ... ногу сломать можно, будем изучать чуть позже.
 

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
А есть возможность реализовать

если содержит "X" - вернуть "Y",
если содержит "A" - вернуть "B",
если содержит "3" - вернуть "7"..
итд..

?
 

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
на JS:
Код:
var a='{-Variable.input-}';
(function(a) {
switch(a) {
case (a.match(/user/) || {}).input: return '1'; break;
case (a.match(/location/) || {}).input: return '2'; break;
case (a.match(/age/) || {}).input: return '3'; break;
default: return '';
}})(a)
в скобки a.match() можно вставлять любой regex по идеи
 
Последнее редактирование:

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