2012-06-04 3 views
0

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

Вот часть строки, я хочу проанализировать:

Microsoft Application Error Reporting<br><br />Microsoft Application Error Reporting<br><br />Microsoft Office Professional Plus 2010<br><br />Microsoft Office OneNote MUI (English) 2010<br><br /> 

А вот сайт, где я показываю строку: Website

Теперь то, что я хотел бы сделать: Когда Я нажимаю флажок, я хотел бы взять часть строки, связанную с линией флажка, и поместить ее в другую строку. Например, если я выберу девятый флажок, я бы хотел поставить Microsoft Office Excel MUI (English) 2007 в новую строку.

Я сделал кусок кода, идущий к указанной линии, но я не знаю, как использовать его сейчас ...

int i=0; 
     do 
     { 
      int j = 0; 
      while ((j = (InstalledSoftwares.Text).IndexOf("<br><br />", j)) != -1) 
      { 
       j += "<br><br />".Length; 
       i++; 
      } 
     } while (i <= Convert.ToInt16(TextBoxTest.Text)); 

InstalledSoftwares.Text является строка, я хочу проанализировать.
TextBoxTest содержит номер флажка.

Я много искал, чтобы найти ответ на свою проблему, но ничего не нашел. Большое спасибо за вашу помощь и извините за мой английский.

+1

управления Использование ASP.NET (в данном случае [ 'CheckBoxList'] (HTTP: // MSDN .microsoft.com/en-us/library/system.web.ui.webcontrols.checkboxlist.aspx), то вы можете использовать его ['Items'] (http://msdn.microsoft.com/en-us/library /system.web.ui.webcontrols.listcontrol.items.aspx) вместо самодельных строк html. –

+0

Может быть, вы можете разбить строку на основе 'br', а затем получить ее – V4Vendetta

+0

@TimSchmelter Извините, но как я могу это сделать? –

ответ

1

Вы должны использовать опцию Split, чтобы разделить текст, а затем выбрать текст Релевент из массива по отношению к галочку при

InstalledSoftwares.Text.Split(new []{"<br>< br/>"}, 
           StringSplitOptions.RemoveEmptyEntries); 

Теперь вы можете использовать индекс 8, чтобы получить соответствующий текст checkbox 9 (так как массив индексируется нулем)

Надеюсь, это поможет.

+0

Еще раз спасибо, это мне очень поможет.:) –

1

Использование Regex

Split Pattern = @"\s*<br>\s*<br\s*/>\s*" 

Наименование = CheckBox Index - 1


String[] Products = Regex.Split(XML, Pattern); 
String Product = Products[ CheckBoxIndex - 1 ]; 
+1

Спасибо, я попробую решение V4Vendetta, и если это не сработает, я попробую. :) –

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