我有一个包含许多换行符的字符串。它们有两种类型。 \ n和\ r \ n我想保留\ r \ n换行符,但我想摆脱\ n的。这有什么简单的方法吗?我担心如果我使用替换方法,它也会影响我的\ r \ n休息。
string text = "This is a \ntext there should \nonly be one line break\r\n";
var newtext = text.Replace("\n", "");
这里的输出是
newtext = "This is a text there should only be one line break\r"
如何让这个字符串输出"这是一个只有一个换行符的文本\ r \ n" ?
答案 0 :(得分:3)
您可以使用Regex
var text2 = Regex.Replace(text, @"([^\r])\n", "$1");
答案 1 :(得分:0)
您可以使用带有后视的正则表达式,它只会替换\n
之前没有的\r
个字符:
var replacement = Regex.Replace(text, @"(?<!\r)\n","");
您可以see a working example in action here使用以下输入:
Regex.Replace("Line 1\n Still Line 1\r\nLine 2\n Still Line 2", @"(?<!\r)\n","");
产生:
Line 1 Still Line 1
Line 2 Still Line 2
答案 2 :(得分:0)