Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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# 正则表达式使所有新行都相同_C#_Regex_Newline_Linefeed - Fatal编程技术网

C# 正则表达式使所有新行都相同

C# 正则表达式使所有新行都相同,c#,regex,newline,linefeed,C#,Regex,Newline,Linefeed,我必须格式化一些人丢弃的编程代码。所以我必须确保没有双空格,所有类都有注释等等。。无论如何,我有一个困难的时间创造这个发现和取代,因为新的路线。。。换句话说,某些块具有: // this is some comment \r\n // some other line \r\n 其他块仅具有: // bla bla bla \n // bla bla bla \n 其他块 // bla bla bla \r // bla bla bla \r 最后,其他块也有 //

我必须格式化一些人丢弃的编程代码。所以我必须确保没有双空格,所有类都有注释等等。。无论如何,我有一个困难的时间创造这个发现和取代,因为新的路线。。。换句话说,某些块具有:

   // this is some comment \r\n
   // some other line \r\n
其他块仅具有:

  // bla bla bla \n
  // bla bla bla \n
其他块

 // bla bla bla \r
 // bla bla bla \r
最后,其他块也有

 // bla bla \n\r
 // bla bla \n\r
由于这些差异,我在创建正则表达式时遇到了困难

所以我的问题是如何将所有可能性(
\r\n
\n
\r
\n\r
)替换为\r\n?因此:

        var a = "\n\r\n\rHelloWorld";
        var b = "\r\n\n\rHelloWorld";
        var c = "\r\rHelloWorld";
        var d = "\n\nHelloWorld";
结果都是:
“\r\n\r\nHelloWorld”

        var a = "\n\r\n\rHelloWorld";
        var b = "\r\n\n\rHelloWorld";
        var c = "\r\rHelloWorld";
        var d = "\n\nHelloWorld";
请注意,所有变量a、b、c和d=

->
->
-> HelloWorld

它们在visual studio上看起来都一样…

我认为您需要做的是将CR替换为LF,或者将LF替换为CR:

搜索:
\r\n?\n\r?


替换:
\r\n

StyleCop和Ctrl+K+D应该可以。谢谢,这似乎可以工作,但会删除某些部分上的缩进…它会根据Visual Studio设置重新格式化代码-这些设置可以更改。如果在Visual Studio中执行此操作,则不需要正则表达式。只需使用文件->保存->高级保存设置,设置要使用的行尾(本例中为Windows),然后保存文件。它将为您完成所有工作。我做到了:
static string makeallnewlines相同(字符串输入){string replace=“\r\n”返回Regex.replace(输入,@”(\r\n?\n\r?),replace);}