Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅匹配和替换字符串中的换行符_C#_Regex_Replace - Fatal编程技术网

C# 仅匹配和替换字符串中的换行符

C# 仅匹配和替换字符串中的换行符,c#,regex,replace,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\

我想将字符串中的换行符替换为空白。如果字符串只有换行符,则应将其替换为空白字符串。如果字符串包含文本和换行符,则不应将其替换为任何内容

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"
输出:按原样测试1和测试2=“”


谢谢

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

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

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

str = str.Trim();
那应该给你

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

你为什么要为正则表达式烦恼呢

这正是您所需要的:

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

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

Regex对于这么简单的事情来说是太过分了。我不确定我的解决方案如何不能满足“如果只有换行符,请用空字符串替换。如果有其他内容……请不要替换任何内容”的要求。哦,很抱歉,我将您的帖子与Simon Svensson的文章混淆了。这也将清空字符串,如
string test3=“”
if (string.IsNullOrWhitespace(string_variable_here))
    string_variable_here = "";