在if-elsif-else条件中使用REGEX

时间:2017-04-12 06:30:18

标签: c# asp.net regex

我想只测试/ ntest然后输出是测试测试但是因此只将/ n替换为一个空白区域但是一些case / r / n也替换但是可以替换为那个syatax只替换两个单词所以我返回这个正则表达式语法但不起作用。

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

1 个答案:

答案 0 :(得分:0)

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

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

(?&lt; before&gt; ...)定义您可以稍后访问的命名组

[^ \ r] 定义此处不存在\ r \ n的字符

m =&gt; m ... 是一个Lambda表达式,其中m在这种情况下是匹配实例

或者在特定情况下,您也可以使用简单的替换:

input = input.Replace("\r\n", "\r").Replace('\n', ' ').Replace("\r", "\r\n");