2012-07-16 4 views
1

나는 여러 사람들이 버린 프로그래밍 코드를 포맷해야한다. 그래서 두 개의 공백이 없다는 것을 확인해야한다. 모든 클래스에는 주석 등이있다. 어쨌든 나는 가지고있다.모든 새로운 라인을 동일하게 만드는 Regex

// this is some comment \r\n 
    // some other line \r\n 

다른 덩어리 그냥 가지고 :

// bla bla bla \n 
    // bla bla bla \n 

다른 덩어리

,321이 찾아 만드는 힘든 시간이 말해 어떤 덩어리가 ... 때문에 새로운 라인의 대체 이 차이 나는 정규 표현식에를 만들기 위해 어렵게 시간을 보내고하고 있기 때문에 0

마지막으로 다른 덩어리

// bla bla \n\r 
// bla bla \n\r 

있습니다.

그래서 제 질문은 내가 모든 가능성 (\r\n, \n, \r, \n\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"

참고 모든 변수 =

-> 
-> 
-> HelloWorld 

는 모두 동일한 온 A, B, C 및 D를 보이는 것을 비주얼 스튜디오 ...

+0

StyleCop와 Ctrl 키 + K + D가해야 \r\n. – Oded

+0

작동하는 것처럼 보이지만 일부 부분에서 들여 쓰기가 제거 된 덕분에 ... –

+0

Visual Studio 설정에 따라 코드를 다시 포맷합니다.이 변경 사항은 변경할 수 있습니다. – Oded

답변

3

나는 당신이해야 할 일은 아마도 CR 다음에 LF가 나오거나 LF가 뒤따를 가능성이 있다고 생각한다. b Y CR :

검색 : \r\n?|\n\r?

교체 :

+0

정말 고마워! –

+0

나는 다음과 같이했다 :'static string MakeAllNewLinesTheSame (문자열 입력) { string replace = "\ r \ n"; return Regex.Replace (입력, @ "(\ r \ n? | \ n \ r?), 바꾸기); }' –

관련 문제