繁体   English   中英

正则表达式删除回车符和空格

[英]Regex to remove carriage return followed by space

对正则表达式来说相对较新,但是希望有人可以提供帮助。 虽然我已经看到了许多示例,这些示例都涉及到如何删除某些字符或字符组合的方法,但似乎无法为我工作。

我有一个包含以下几行的文件:

a b c
d
ef
 g h
i

我需要的是结束一个字符串,该字符串除去了换行符和空格的确切出现(仅此而已),因此结果将是

a b c
d
efg h
i

现在我有

string contents = File.ReadAllText("input.text");
string result = Regex.Replace(contents,@"[\n \r]\ ","");
Console.WriteLine(result);

但这只会删除gh行前面的空间,而不是将其与前一行合并。

我究竟做错了什么?

尝试使用:

string result = Regex.Replace(contents,@"(?s)(?:(?:\r|\n)+ +)","");

(?s)是利用单行模式。

string text = Regex.Replace( contents, @"(\r|\n)+^ +", "" , RegexOptions.None | RegexOptions.Multiline );

我的读为:

\\ r或\\ n(换行符)->“(\\ r | \\ n)+”的一个或多个匹配项

紧接着一行的开头->“ ^”

后跟一个或多个空格->“ +”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM