我不是一个小伙子。如果有人可以帮我这个,我真的很感激。
regular expression to remove a space
javascript regular expression remove complete words only
Regular Expression to replace non alpha characters with spaces
regular expression to remove white spaces in a line and extract specific columns
以上链接不帮助我
然而this似乎很接近
我有这个字符串
<tr class="trClass" > <td class="tdClss" > adasd
<span class=classA > as da "sads "sd</span> </td> </tr>
上面的html字符串中有三个类。
班级名称后的空格未确定
天气类名称是否在引用中是否未确定
我想删除&gt;之前的空格登录
什么正则表达式符合此条件?
我的代码
public static string Flatten(string inputString)
{
// remove line breaks
string rawInput = inputString.RemoveLineBreaks().Trim();
string filteredInput = Regex.Match(rawInput, "<tr.+?>.*</tr>").ToString();
if (filteredInput.IsNotNullOrEmpty())
{
// remove space between end and start tags
filteredInput = Regex.Replace(filteredInput, ">.+?<", delegate(Match match)
{
string v = match.ToString();
return ">" + v.Substring(1, v.Length - 2).Trim() + "<";
});
// remove space between attribute and closing tags
filteredInput = Regex.Replace(filteredInput, "\t>", delegate(Match match)
{
//string v = match.ToString();
return ">";
});
return filteredInput;
}
else
{
return "Invalid HTML Table Row!";
}
}
答案 0 :(得分:2)
根据您发布的内容,模式+>
将与您指定的条件相匹配。换句话说,您正在寻找一个或多个空格(+
),后跟一个结束尖括号(>
)。您可以使用Regex.Replace
来电并传递>
作为该模式的替代品。
预先警告:使用正则表达式操纵HTML可能会非常危险。如果您的字符串中有任何未编码的>
,那么它仍可能与上述模式匹配。对于你上面显示的内容,我怀疑你会没事。
答案 1 :(得分:1)
如果您只是使用XDocument将其加载到XDocument.Parse(string),它会为您解决此问题。
var test = XDocument.Parse("<tr class=\"trClass\" > <td class=\"tdClss\" > adasd <span class=\"classA\" > as da \"sads \"sd</span> </td> </tr>");
Console.WriteLine(test);
您不需要使用正则表达式。这给你如下:
<tr class="trClass">
<td class="tdClss"> adasd <span class="classA"> as da "sads "sd</span></td>
</tr>