2010-01-22 6 views

ответ

16

Да. Используйте overload

String.Split(String[], StringSplitOptions) 

или

String.Split(String[], int, StringSplitOptions) 

Пример:

var split = e.row.cells[1].Text.Split(
       new[] { "</b>" }, 
       StringSplitOptions.RemoveEmptyEntries 
      ); 

Но не внял комментарий StrixVaria в выше. Анализ HTML является неприятным, если вы не являетесь экспертной разгрузкой, которая работает на кого-то другого.

3

Попробуйте это:

e.Row.Cells[1].Text.Split(new string[] { "</b>" }, StringSplitOptions.None); 
3

Один из перегруженных String.Split занимает String[] и StringSplitOptions - это перегрузка вы хотите:

e.row.cells[1].Text.Split(new string[] { "</b>" }, StringSplitOptions.None); 

или

e.row.cells[1].Text.Split(new string[] { "</b>" }, StringSplitOptions.RemoveEmptyEntries); 

в зависимости на то, что вы хотите сделать с пустыми вводами (т. е. когда один delimi ter сразу следует за другим).

Однако, я хотел бы призвать вас прислушаться @ комментарий StrixVaria в ...

1

Чтобы разбить строку со строкой, вы должны использовать это ..

string test = "hello::there"; 
string[] array = test.Split(new string[]{ "::" }, StringSplitOptions.RemoveEmptyEntries); 
0

Используйте один из перегруженных строки .Трещина(...). Но, как говорится в комментарии, возможно, другой способ сделать это был бы предпочтительным.

e.row.cells[1].Text.Split(new [] { "</b>"}, StringSplitOptions.None); 
3

В дополнение к String.split, вы можете использовать Regex.Split (в System.Text.RegularExpressions):

string[] lines = Regex.Split(.row.cells[1].Text, "htmlTag"); 
0

Это один из тех случаев, когда я хожу старой школы VB и использование просто использовать:

Split(expression, delimiter) 

или C#

Microsoft.VisualBasic.Strings.Split(expression,delimiter) 
Смежные вопросы