我有一个html节点:
<p>Line1
Line2
Line
ThereAreTwoSpacesAfterThis ThereAreTwoSpacesBeforeThis
</p>
在任何浏览器中,最终使用结果为
Line1 Line2 Line ThereAreTwoSpacesAfterThis ThereAreTwoSpacesBeforeThis
这是我想要的结果。
那么如何删除XmlNodeType.Text节点(C#)中无关紧要的空格呢?
=============================================== ==========
大家好,谢谢你的回复。
实际上我正在开发一个小项目来从网页(html)中提取所有文本:类似于从Firefox或IE中“另存为页面为文本文件”。
我尝试使用Html Agility Pack,但结果还不够好。
我也试过使用一个WebBrowser控件,但它看起来太慢了,控制它的方式并不那么容易。
有什么好主意吗?
据我所知,有人建议我使用正则表达式,但有太多的情况要考虑。
答案 0 :(得分:1)
Just use a regular expression!
var spacesSquashed = Regex.Replace(input, @"\s+", " ", RegexOptions.Singleline);
如果您还想按照HTML中的惯例删除开头和结尾的所有空格,请在末尾添加额外的.Trim()
。