【发布时间】:2017-10-05 12:45:06
【问题描述】:
我有一个包含以下行的文本文件,例如:
我只想在前一行末尾包含 CR 时删除 CR LF。通过正则表达式,我可以删除所有字符,但我无法建立条件来检查上一行。
谁能帮帮我?
【问题讨论】:
-
您的意思是要删除直接跟在以 CR 结尾的行之后的仅空白行吗?尝试
(\r)\h*\r\n并替换为$1 -
你试过什么?另外,请编辑您的问题,将文本放入问题中,而不是图像。
-
@NightOwl888 我相信图像比文本更好的情况。好吧,至少OP有什么样的输入是清楚的。
-
这个 "(\r)\h*\r\n" 在 Notepad++ 中有效,但是当我在 VS 中使用它时,代码如下: strFile = Regex.Replace(strFile, @"(\ r)\h*\r\n", "$1");它抛出一个异常:(
-
@PatrickGrebe 在 C# 中,您只需将
\h替换为[\p{Zs}\t]或[\s-[\r\n]],请参阅下面的答案。
标签: c# regex newline str-replace