Visual Studio를 사용하여 텍스트에서 빈 줄 제거


답변:


174

Visual Studio 2012가 정규식 구문을 변경했기 때문에 Ala의 원래 답변은 VS 2012에서 다음과 같이 번역됩니다.

빈 줄 하나 제거

낡은:

^:b*$\n

새로운:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013 (BozoJoe 및 Joe Johnston 덕분에) :

^\s*$\n

빈 줄 두 개 제거

낡은:

^:b*\n:b*\n

새로운:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

혀에서 바로 굴러갑니다.

다음 은 MSDN의 변환 시트입니다.


13
vs2013 : ^ \ s + $ \ n
BozoJoe

BozoJoe의 대답은 VS2012에서도 잘 작동했습니다 (Update 4)
BertuPG

5
^ \ s + $ \ n을 ^ \ s * $ \ n (으)로 변경하여 순수 줄 바꿈을 허용합니다 (내용 없음).
Joe Johnston

4
CTRL + K + D로 작업하는 것처럼 어떻게 자동화 할 수 있습니까?
ErTR

이것은 문자열이나 편집기의 코드에서 작동합니까?
Kyle Delaney

114

코드를 정렬하거나 비교하려는 경우 특히 유용합니다.이 질문에 답변 한 사람들에게 감사드립니다. 여기 에서 답변을 얻었 으며 Stackoverflow와 공유하고 싶습니다.

Visual Studio에는 정규식을 사용하여 바꾸기 작업에서 빈 줄을 삭제할 수 있습니다.

  • 클릭 Ctrl- H(빠른 교체)

  • "정규 표현식 사용"체크

  • 찾기에서 지정 ^$\n

  • 바꾸기 상자에서 모든 것을 삭제하십시오.

  • "모두 바꾸기"를 클릭하십시오

빈 줄이 모두 삭제됩니다.

빈 줄에 대한 정규식은

선의 시작 ^

줄의 끝 $

줄 바꿈 \n

일반적으로 Windows에서는 줄 끝이 2 자로 표시됩니다. -캐리지 리턴 (CR, ASCII 13, \r) 줄 바꿈 (LF, ASCII 10, \n).

실제로 비어 있지 않은 빈 줄을 제거하는 정규식 (즉, 공백이 있거나없는) : ^:b*$\n

이중선을 제거하려면 다음으로 ^:b*\n:b*\n교체하십시오.\n

* Visual Studio 2013 이상 : *

^\s*$\n

이중선 :

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

아래 @lennart의 답변에서 VS2012 이상의 정규 표현식 구문 업데이트를 참조하십시오.


Visual Studio 2015에서 XML 파일을 정리하면 매력처럼 작동합니다. 누구나이를 실행하는 바로 가기를 만드는 방법을 알고 있습니까?
Leszek P

1
Visual Studio 2012 이상에서는 아래 답변을 확인하십시오
Alaa

1
이것이 자동 포맷터와 작동하는 방법이 있습니까?
Kyle Delaney

19

Visual Studio 2013 (버전 12.0.20623.01) 에서이 정규 표현식으로 빈 줄을 제거 ^\r\n했습니다. 화면에서 일치하는 줄이 갈색 사각형으로 표시됩니다.

빈 줄 바꾸기 Visual Studio 2013


나는 또한 그런 식으로 시도했지만 Visual Studio는 몇 분 동안 얼어 붙은 다음 수백 건의 1 건만 교체했습니다! lol :-D
BertuPG

17

순수한 라인 피드를 허용하기 위해 VS 2012에서 테스트되었습니다.

^\s*$\n 

hth


2
이것은 VS 2015에서 저에게 효과적입니다. 받아 들여진 대답은 불행히도 아니 었습니다
EdwardM

VS 2013에서도 작동합니다.
Joe Johnston

2
VS 2017에서 잘 작동하지만 허용되는 답변은 그렇지 않습니다.
Germstorm

2019 년에도 작동
Joe Johnston

17

Visual Studio 2017 이상 사용

에서 현재 문서

바로 가기 사용

  • 열기 도구 > 옵션 을 누르거나 Alt+ T+O
  • 아래에서 환경 탭> 키보드
  • " DeleteBlank "를 검색 하고 선택하십시오Edit.DeleteBlankLines
  • 예를 들어 Ctrl+ D, Ctrl+와 같은 새 바로 가기 추가E
  • 할당 > 확인

모든 텍스트를 선택하고 바로 가기를 누르십시오

여기에 이미지 설명을 입력하십시오


선택한 빈 줄만 또는 현재 줄에서 다음 빈 줄이 아닌 줄까지 삭제합니다. 전체 문서 나 프로젝트를위한 것이 아닙니다.
Jan

1
명령을 실행하기 전에 모두 선택을 시도하면 작동합니다.
Kris Morness

9

VS2012로 두 개 이상의 인접한 빈 행을 제거하려면 다음을 사용하십시오.

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

두 개의 빈 줄을 하나로 바꾸는 솔루션을 찾고있었습니다. 그것은 나를 위해 작동합니다. 감사!
Ricardo França

8

Visual Studio 2017을 사용하고 있습니다. \n\r

단계 :

  1. Ctrl + H (찾기 및 바꾸기를 엽니 다)
  2. 정규식 사용 선택 (Alt + E)
  3. 입력 \n\r"찾기 ..."입력에
  4. 교체를 누르십시오


2

CodeMaid를 설치 하고 Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D` 를 누르 십시오 ). 솔루션 탐색기에서 더 많은 파일을 정리할 수 있습니다.


1

VS 2012에서 모든 빈 줄을 찾아 바꾸는 데 사용되는 정규식 문자열은 ^ (? ([^ \ r \ n]) \ s) \ r? \ n입니다.


0

Ctrl+ K, Ctrl+ D는 현재 문서를 자동으로 포맷하므로 코드에서 불필요한 공간이 제거됩니다. 찾고자하는 코드를 읽을 수있게 유지하는 데 도움이됩니다.


내 문제를 참조하고 있습니다.보고하십시오. 이것은 내가 찾고있는 것입니다. stackoverflow.com/questions/44747909/... .
Vivek Shukla

1
빈 / 이중 빈 줄은 제거되지 않습니다.
Jan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.