我有这个解码的html字符串<div style=\"text-align:right; \">test1 <strong>test2 </strong>test3 test4 test5</div>
我需要在空格中拆分它们但不应该在html标签中拆分空格,所以我将在5中进行以下拆分。我不是一个正则表达式的人,所以我需要帮助。
<div style=\"text-align:right;\">test1
<strong>test2
</strong>test3
test4
test5</div>
编辑:我添加了</strong>
并添加了另一行来提出另一个观点。
答案 0 :(得分:0)
您可以根据' <'
或'> '
string value = <div style=\"text - align:right; \">test1 <strong>test2 </strong>test3</div>;
string[] listHtml = Regex.Split(value, "( <)|(> )");
答案 1 :(得分:0)
这看起来有点难看但有效,可能比这更好(可能只是使用htmlagility pack):
List<String> finalList = new List<string>();
bool insideHtml = false;
StringBuilder sb = new StringBuilder();
string[] test = "<div style=\"text - align:right; \">test1 <strong>test2 </div>".Split(' ');
foreach (string t in test)
{
if (t.Contains("<"))
{
sb.Append(" " + t);
insideHtml = true;
if (t.Contains(">"))
{
finalList.Add(sb.ToString());
sb.Clear();
insideHtml = false;
}
}
else if (t.Contains(">"))
{
sb.Append(" " + t);
finalList.Add(sb.ToString());
sb.Clear();
insideHtml = false;
}
else
{
if (insideHtml)
{
sb.Append(" " + t);
}
else
{
finalList.Add(t);
}
}
}