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);}