如何从格式化的字符串中删除空行?
如何在C#中删除字符串中的空行? 我在C#(winforms)中生成一些文本文件,由于某种原因,有一些空行。 如何在生成字符串后删除它们(使用StringBuilder和TextWrite )。
示例文本文件:
THIS IS A LINE THIS IS ANOTHER LINE AFTER SOME EMPTY LINES!
谢谢。
如果您还想删除仅包含空格的行,请使用
resultString = Regex.Replace(subjectString, @"^s+$[rn]*", string.Empty, RegexOptions.Multiline);
^s+$
将删除从第一个空行到最后一行(在连续的空行块中)的所有内容,包括仅包含制表符或空格的行。
[rn]*
将删除最后一个CRLF(或者只是LF,这很重要,因为.NET正则表达式引擎匹配r
和n
之间的$
,有趣的是)。
@Tim Pietzcker – 不适合我。 我必须改变一点但是thx!
Ehhh C#Regex ..我不得不再次改变它,但这很好用:
private string RemoveEmptyLines(string lines) { return Regex.Replace(lines, @"^s*$n|r", string.Empty, RegexOptions.Multiline).TrimEnd(); }
示例: http : //regex101.com/r/vE5mP1/2
您可以尝试String.Replace("nn", "n");
试试这个
Regex.Replace(subjectString, @"^r?n?$", "", RegexOptions.Multiline);
private string remove_space(string st) { String final = ""; char[] b = new char[] { 'r', 'n' }; String[] lines = st.Split(b, StringSplitOptions.RemoveEmptyEntries); foreach (String s in lines) { if (!String.IsNullOrWhiteSpace(s)) { final += s; final += Environment.NewLine; } } return final; }
如果你像我一样并且以上所有行都不适用于你,那么我找了一个函数可以告诉你字符串是否为空(如果是,你可以销毁或删除它,就像我做的那样)
// if string "myText" is empty then if (string.IsNullOrEmpty("myText")){ //delete/disable string }
此模式非常适合删除仅有空格和/或制表符的空行和行。
s = Regex.Replace(s, "^s*(rn|Z)", "", RegexOptions.Multiline)
我找到了这个问题的简单答案
YourradTextBox.Lines = YourradTextBox.Lines.Where(p => p.Length > 0).ToArray();
改编自Marco Minerva [MCPD]: https : //social.msdn.microsoft.com/Forums/windows/en-US/b1bb4107-4ad5-4cd3-bd20-9c2b3f9b31a6/delete-lines-from-multiline-textbox-if -它的-含有-某些字符串-C?论坛= WinForms的&教授=所需
上述就是C#学习教程:如何从格式化的字符串中删除空行?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/987191.html