我想只测试/ ntest,然后输出是测试测试,但所以只能将/ n替换为一个空格,但某些情况/ r/n也会替换,但可以替换为syatax只能在两个单词之间进行替换,所以我返回这个正则表达式但不起作用。在if-elsif-else条件下使用REGEX
string input = "/r/ntest/ntest/n/r"
input = Regex.Replace(input, ".\n.", " ");
我想只测试/ ntest,然后输出是测试测试,但所以只能将/ n替换为一个空格,但某些情况/ r/n也会替换,但可以替换为syatax只能在两个单词之间进行替换,所以我返回这个正则表达式但不起作用。在if-elsif-else条件下使用REGEX
string input = "/r/ntest/ntest/n/r"
input = Regex.Replace(input, ".\n.", " ");
我认为你必须提供的条件,您要非\ r字符到之前\ n存在,对正则表达式 - 但你必须发现添加非\ r字符进入替换字符串或者它会被切出:
Regex.Replace(input, @"(?<before>[^\r])\n", m => m.Groups["before"].Value + " ");
(?<前> ...)定义了一个名为组可以访问后
[^ \ R] d一个字符是不是用\ r这里存在
M =>米efines ...是Lambda表达式其中m在这种情况下是比赛例如
或者你可以在特定的情况下,也用一个简单的替换来搞乱:
input = input.Replace("\r\n", "\r").Replace('\n', ' ').Replace("\r", "\r\n");
你的正则表达式可以写成'Regex.Replace(input,@“(?<!\ r)\ n”,“”)''。 –
非常感谢你的工作 –
string input =“\ r \ ntest \ ntest \ n \ r”; input = Regex.Replace(input,“。\ n。”,“”); –
1)你的代码包含一个语法问题。 2)你的意思是什么? –