我想只测试/ ntest然后输出是测试测试但是因此只将/ n替换为一个空白区域但是一些case / r / n也替换但是可以替换为那个syatax只替换两个单词所以我返回这个正则表达式语法但不起作用。
string input = "/r/ntest/ntest/n/r"
input = Regex.Replace(input, ".\n.", " ");
答案 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");