匹配并替换字符串中的换行符

时间:2013-09-14 12:22:33

标签: c# regex replace

我想用空格替换字符串中的换行符。如果字符串只有换行符,则应该用空格符号替换,如果字符串有文本以及换行符,则不应替换为任何内容。

string test1 = "\r\n\r\n\r\n\r\n\r\n\r\n\r\nTestcompanyAC\r\nRegistration Number: 19871\r\n\r\n\r\nSTATEMENTS\r\n\r\nYear ended 31 December 2013\r\n\r\n"

string test2 = "\r\n\r\n\r\n\r\n\r\n\r\n\r\n"

输出:test1原样,test2 =“”

由于

4 个答案:

答案 0 :(得分:2)

您可以使用^$分隔符来匹配开头和结尾。

Regex.Replace(test2, @"^[\r\n]*$", String.Empty)

答案 1 :(得分:2)

string test2 = "\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

if (test2.All(c => c == '\n' || c == '\r'))
    test2 = "";

答案 2 :(得分:1)

你为什么要打扰Regex。

这可以满足您的需求:

if (string.IsNullOrWhitespace(string_variable_here))
    string_variable_here = "";

如果你只是在寻找一个空白的条目..以上就是你所需要的。

答案 3 :(得分:0)

只是猜测,尝试有点不同,但您是否正在寻找修剪字符串,删除前导和结尾空格的方法?

str = str.Trim();

那应该给你

test1 = "TestcompanyAC\r\nRegistration Number: 19871\r\n\r\n\r\nSTATEMENTS\r\n\r\nYear ended 31 December 2013"
test2 = ""