Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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# 在if-elsif-else条件中使用正则表达式_C#_Asp.net_Regex - Fatal编程技术网

C# 在if-elsif-else条件中使用正则表达式

C# 在if-elsif-else条件中使用正则表达式,c#,asp.net,regex,C#,Asp.net,Regex,我只想测试/ntest,然后输出是test test,所以只将/n替换为一个空格,但某些case/r/n也替换了,但不能替换为两个单词之间的syatax,所以我返回这个正则表达式语法,但不起作用 string input = "/r/ntest/ntest/n/r" input = Regex.Replace(input, ".\n.", " "); 我认为您必须向正则表达式提供一个条件,即您希望在\n之前存在一个非\r字符-但是您必须将找到的非\r字符添加到替换字符串中,否则将被删除: Re

我只想测试/ntest,然后输出是test test,所以只将/n替换为一个空格,但某些case/r/n也替换了,但不能替换为两个单词之间的syatax,所以我返回这个正则表达式语法,但不起作用

string input = "/r/ntest/ntest/n/r"
input = Regex.Replace(input, ".\n.", " ");

我认为您必须向正则表达式提供一个条件,即您希望在\n之前存在一个非\r字符-但是您必须将找到的非\r字符添加到替换字符串中,否则将被删除:

Regex.Replace(input, @"(?<before>[^\r])\n", m => m.Groups["before"].Value + " ");

字符串输入=“\r\ntest\ntest\n\r”;input=Regex.Replace(输入“.\n.”,”);1) 您的代码包含语法问题。2) 你的正则表达式可以写成
regex.Replace(input,@)(?
input = input.Replace("\r\n", "\r").Replace('\n', ' ').Replace("\r", "\r\n");