2015-01-12 2 views
0

У меня есть следующая строка, что мне нужно будет удалить все между = выберите и следующий} гольцаRegex для удаления текста между двумя символами в C#

отл. Введите Тип: = выбрать 10 лучших тип из кабеля}

Конечным результатом является переменная строка просто показать Введите Тип:

Я искал способ сделать это с Regex, но я m открываются и для других методов. Заранее спасибо за помощь.

+4

IndexOf дважды и подстрока? (Или, конечно, регулярное выражение). Вы еще что-нибудь пробовали? –

ответ

1
string input = "Enter Type:=select top 10 type from cable}"; 

System.Text.RegularExpressions.Regex regExPattern = new System.Text.RegularExpressions.Regex("(.*):=select.*}"); 
System.Text.RegularExpressions.Match match = regExPattern.Match(input); 

string output = String.Empty; 
if(match.Success) 
{ 
    output = match.Groups[1].Value; 
} 

Console.WriteLine("Output = " + output); 

Значение «» выходной переменной будет найдено значение перед «: = выбрать» сегмент входной строки. Если вам нужно вытащить дополнительную информацию из входной строки, окружите ее скобкой, и найденные совпадения будут добавлены в массив match.Groups. Кстати, значение match.Groups [0] .Value - это исходная строка.

0
var rx = new Regex("=select[^}]*}");; 

Console.WriteLine(rx.Replace ("Enter Type:=select top 10 type from cable}", "")); 

Regexp.Replace (строка ввода, строка вывода) функция заменяет все подстроки, которые соответствуют регулярному выражению, данные с «строки вывода». Первая строка определяет регулярное выражение, которое соответствует всем между = выбрать и}

Смежные вопросы