2013-12-11 8 views
1

Мне нужно сравнить каждый элемент выпадающего списка со словами строки. Если это соответствует, мне нужно поставить $ в начале и в конце слова строки.Цитирование через элементы combobox

Я попытался как

if (!String.IsNullOrEmpty(modify)) 
      { 
       foreach(string item in tcomboBox1.Items) 
       { 
        bool contains = Regex.IsMatch(modify, @"\b"+item+"\b"); 
        if (contains == true) 
        { 
         string theItem = "$" + item + "$"; 
         modify = modify.Replace(item,theItem); 
        } 
       } 

       ttextBox1.Text = modify; 
       modify = ""; 
      } 

Но знак $ не appended.Why так?

+0

Вы хотите изменить пункты в выпадающем списке или что? –

+0

изменить элементы combobox или показать результат в 'ttextBox1.Text'? Покажите мне пример элементов combobox и ожидаемого результата! – zey

+0

Вам нужно распространять изменения в combobox? –

ответ

6

EDIT

ваш код был только право, на основании приведенных примеров входных данных и результатов проблема заключается в вашем регулярном выражении, то кажется, что вам не нужно "\b" попробовать просто:

bool contains = Regex.IsMatch(modify,item); 
+0

моя IDE не признает Environment.NewLine. Какую ссылку мне нужно добавить? –

+0

это от ['System'] (http://msdn.microsoft.com/en-us/library/system.environment.newline (v = vs.110) .aspx) –

+0

У меня уже есть ссылка на 'system'. Это WPF. –

1

Вы не выражаете выражение регулярного выражения, оно не возвращает true, если элемент находится где угодно внутри строки модификации (я предполагаю, что это то, что вы хотите)

Вам не нужно \ b в префиксе или суффиксе для соответствия в b etween

Regex.IsMatch(modify, item); 

Это соответствует совершенно любой текст внутри изменить, и чем он должен работать нормально

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