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 = "";