将字符串按字符串而非字符拆分

22
我想在一个HTML标签上分割GridView的行,最好用C#实现。如何做到这一点?
e.row.cells[1].Text.Split("htmltag")
7个回答

26
是的。使用overload
String.Split(String[], StringSplitOptions)

或者

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

但请注意上面StrixVaria的评论。解析HTML很麻烦,所以除非你是专家,否则将这项工作转给其他人。


我在 New [] 上收到了“需要标识符”的错误提示。 - Prof. Falken

6
除了使用 string.split,你还可以使用 Regex.Split(在 System.Text.RegularExpressions 中):
string[] lines = Regex.Split(.row.cells[1].Text, "htmlTag");

4
< p > 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);

根据您对空条目的处理要求(例如,当一个定界符紧随另一个时),情况可能有所不同。

然而,我建议您听从@StrixVaria的意见......


3

试试这个:

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

2

这是我使用老派VB的时候,只需要使用:

Split(expression, delimiter)

或者在C#中

Microsoft.VisualBasic.Strings.Split(expression,delimiter)

1
要使用一个字符串来分割另一个字符串,你可以使用以下方法...
string test = "hello::there";
string[] array = test.Split(new string[]{ "::" }, StringSplitOptions.RemoveEmptyEntries);

1
使用 string.Split(...) 的其中一种重载。 但正如注释所说,也许有另一种更好的方法。
e.row.cells[1].Text.Split(new [] { "</b>"}, StringSplitOptions.None);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接