我将 HTML 代码转换为纯文本。但是有很多额外的返回和空格。如何删除它们?
问问题
16002 次
4 回答
18
string new_string = Regex.Replace(orig_string, @"\s", "")
将删除所有空格
string new_string = Regex.Replace(orig_string, @"\s+", " ")
只会将多个空格合并为一个
于 2011-02-11T20:10:30.223 回答
16
我假设你想
- 找到两个或多个连续空格并将它们替换为单个空格,并且
- 找到两个或多个连续的换行符并将它们替换为单个换行符。
如果这是正确的,那么你可以使用
resultString = Regex.Replace(subjectString, @"( |\r?\n)\1+", "$1");
这可以保持原始空白“类型”的完整性,并正确保留 Windows 行尾。如果您还想将多个选项卡“压缩”为一个,请使用
resultString = Regex.Replace(subjectString, @"( |\t|\r?\n)\1+", "$1");
要将一串换行符和空格(每个任意数量)压缩为一个换行符,请使用
resultString = Regex.Replace(subjectString, @"(?:(?:\r?\n)+ +){2,}", @"\n");
于 2011-02-11T21:04:02.033 回答
0
我为此使用了很多算法。每个循环都很好,但这是明确和绝对的。
//define what you want to remove as char
char tb = (char)9; //Tab char ascii code
spc = (char)32; //space char ascii code
nwln = (char)10; //New line char ascii char
yourstring.Replace(tb,"");
yourstring.Replace(spc,"");
yourstring.Replace(nwln,"");
//by defining chars, result was better.
于 2013-05-22T16:01:57.450 回答
-2
您可以使用 Trim() 删除空格并返回。在 HTML 中,空格并不重要,因此您可以使用 System.String 类中的 Trim() 方法省略它们。
于 2011-02-11T20:10:05.873 回答