正则表达式相对较新,但希望有人能提供帮助。虽然我已经看到了大量关于如何删除某些字符或字符组合的示例,但我似乎无法让以下内容为我工作。
我有一个包含以下行的文件:
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);
但只删除了g h行前面的空格,而不是将它与前一行组合。
我做错了什么?
答案 0 :(得分:0)
尝试使用:
string result = Regex.Replace(contents,@"(?s)(?:(?:\r|\n)+ +)","");
(?s)
是利用单线模式。
答案 1 :(得分:0)
string text = Regex.Replace( contents, @"(\r|\n)+^ +", "" , RegexOptions.None | RegexOptions.Multiline );
我读作:
\ r或\ n的一个或多个匹配(新行字符) - > “(\ r | \ n)+”
后面是一行的开头 - > “^”
后跟一个或多个空格 - > “+”