我将HTML代码转换为纯文本。但是有很多额外的回报和空格。如何删除它们?
答案 0 :(得分:17)
string new_string = Regex.Replace(orig_string, @"\s", "")
将删除所有空格
string new_string = Regex.Replace(orig_string, @"\s+", " ")
只会将多个空格折叠成一个
答案 1 :(得分:15)
我假设你想要
如果这是正确的,那么你可以使用
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");
答案 2 :(得分: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.
答案 3 :(得分:-2)
您可以使用Trim()删除空格并返回。在HTML中,空格并不重要,因此可以使用System.String类中的Trim()方法省略它们。