[英]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.