[英]Replace line feed (lf) with empty string without replacing lf in crlf C#
我想用空字符串“”替换文件中的任何换行(Lf)。 但是,我不希望它也替换CrLf中的Lf(行尾标志)。
我在想这样的事情:
fileContent.Replace("\n","");
上面的代码行将CrLf中的Lf替换为Cr,所以我不希望这样。 请给我一些有关正则表达式的建议,这些正则表达式将忽略CrLf中的Lf。
非常感谢。
PS:逻辑改变了。 我用这个:
fileContent = Regex.Replace(fileContent, @"\r\n(?=>)|(?<!\""\r)\n", "");
用空字符串(“”)替换>之后出现的所有CrLf,并用空字符串(“”)替换所有不跟在“ Cr”之后的换行符(Lf)。
除了其他Regular Expression
答案外,您还可以使用负向后看来避免捕获不必要的数据:
string result = Regex.Replace(fileContent, @"(?<!\r)\n+", "");
您可以使用正则表达式。 下面的RegEx匹配输入开头或前面带有\\ r的\\ n字符。 它捕获\\ n组中\\ n之前的字符,以便可以将其重新插入字符串中。
string result = Regex.Replace(fileContent, @"(^|[^\r])\n", "$1");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.