2012-09-21 4 views
1

메모장 + +를 사용하여 줄의 모든 선행 공백을 원하는 수의 문자로 교체하고 싶습니다. 그래서 예를 들면, 나는 변경하려면 :공백을 메모장으로 바꾸기 ++

zero 
one 
    two 
    three 

로 :

zero 
@one 
@@two 
@@@three 

나는이 작업을 얻기에 성공하지 않았습니다. Regex to replace html whitespace and leading whitespace in notepad++을 찾았지만 원하는 결과를 얻을 수 없었습니다.

Notepad ++에서 가능합니까? 차라리이 작업을 수행하는 코드를 작성하지 않아도됩니다.

답변

4

팀의 대답에서 알 수 있듯이, 이것은 하나의 검색에서 수행 할 수없는/그러나 여기 교체는 상당히 빨리 여러 대체를 사용하여 동일한 작업을 수행 할 수있는 방법입니다 :

찾기 : ^(*)[ ]

것은 교체 다음을 입력하십시오 : \[email protected]

이제 대체 할 일치가 없음을 표시 할 때까지 "모두 바꾸기"버튼을 스팸합니다. 이렇게하면 각 클릭의 각 줄 시작 부분에 하나의 공백이 대체되므로 가장 들여 쓴 줄과 동일한 클릭 수가 필요할 것입니다.

"정규식"이 검색 모드로 선택되어 있는지 확인하십시오.

+0

고마워요! 그것이 내가 필요한 것입니다. 나는 원래 게시물에 대한 대답을 완전히 이해하지 못했을 것 같다. –

+0

@Andrew Clark "대치"문자로 대문자 ""(한 칸) 만 사용하여 선행 공백을 대체하기 위해 정규 표현식을 사용했습니다. 여기있는 사람의 경우 : 모두 바꾸기 버튼이 정상적으로 작동하고 하나의 클릭만으로 많은 작업을 수행 할 필요가 없습니다. 이 기능은 나중에이 게시물이 모두 5 년이 지난 후에 추가 될 수 있습니다 :-) (여전히 매우 유용합니다) – salvu

1

단일 정규식에서이 작업을 수행하려면 가변 길이 lookbehind 어설 션이 필요하며 Notepad ++는이를 지원하지 않습니다.

레코드의 경우 EditPadPro에서 (?<=^ *)\s을 검색하고 @으로 바꿀 수 있습니다.

관련 문제