按标签拆分C#中的文本

时间:2015-09-29 08:47:48

标签: c# html

我在我的代码中拆分字符串,如下所示:

var lines = myString == null 
            ? new string[] { } 
            : myString.Split(new[] { "\n", "<br />" }, StringSplitOptions.RemoveEmptyEntries);

问题在于,有时文本看起来像这样:

sdjkgjkdgjk<br />asdfsdg

在这种情况下我的代码有效。但是,其他时候,文本看起来像这样:

sdjkgjkdgjk<br style="someAttribute: someProperty;"/>asdfsdg

在这种情况下,我没有得到我想要的结果。如何用整个br标签拆分这个字符串及其所有属性?

5 个答案:

答案 0 :(得分:1)

使用var checkboxes = TABLE.querySelectorAll('input[type=checkbox]'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { // ... } } 。以下是一个例子: -

Regex.Split()

答案 1 :(得分:1)

如果您只需要按br代码和换行符进行拆分,那么正则表达式是一个不错的选择:

var lines = myString == null ?
    new string[] { } :
    Regex.Split(myString, "(<br.+>)|(\r\n?|\n)");

但如果你的要求变得更复杂,我建议使用HTML解析器。

答案 2 :(得分:1)

你可以尝试这个:

var parts = Regex.Split(value, @"(<b>[\s\S]+?<\/b>)").Where(l => l != string.Empty).ToArray();

答案 3 :(得分:0)

我希望以下代码能为您提供帮助。

    var items = Regex.Split("sdjkgjkdgjk<br style='someAttribute: someProperty;'/>asdfsdg", @"<.*?>");

答案 4 :(得分:0)

你应该使用正则表达式。 在这里,您可以找到good tutorial用于您的目的。