![설명](https://rvso.com/image/1417423/%EC%84%A4%EB%AA%85.png)
텍스트 벽이 있습니다 (코드, 숫자 또는 이와 유사한 것은 없음). 문장은 때때로 "단락" 또는 "수동 줄 바꿈"에 의해 "중간"에서 분할됩니다.
예를 들어:
The most obvious part was a hollow, echoing quiet, made by things that
were lacking. If there had been a wind it would have sighed through the
trees, set the inn’s sign creaking on its hooks, and brushed the silence
down the road like trailing autumn leaves. If there had been a crowd,
even a handful of men inside the inn, they would have filled the silence
with conversation and laughter, the clatter and clamor one expects from
a drinking house during the dark hours of night. If there had been music
... but no, of course there was no music. In fact there were none of
these things, and so the silence remained.
이 줄을 함께 연결할 수 있는 정규식 또는 확장 대체를 만들고 싶습니다.
저는 Microsoft Word에서 이 작업을 수행했습니다. 여기서는 앞에 알파벳 문자(점(.) 또는 느낌표(!), 물음표(?) 또는 따옴표 대신)가 있는 "줄 바꿈"을 검색했습니다. 표시(")를 표시하고 아무 것도 표시하지 않습니다.
저는 더 이상 microsft 단어를 사용하지 않습니다. 오픈 오피스를 사용하면 가능하지만 프로세스가 정말 정말 정말 느립니다.
정규식이나 확장 교체를 사용하여 메모장++에서 이 작업을 수행할 수 있는 방법이 있습니까?
답변1
정규식을 사용하면 다음을 수행할 수 있습니다.
무엇을 찾다 :([^.!?"])\r\n
바꾸기: $1
(후행 공백을 추가해야 하지만 마크다운으로 렌더링할 때는 표시되지 않습니다)
설명
([^.!?"])
.
, 또는 이외 의 모든 문자를 그룹화 !
합니다 . 실제로 영숫자 문자를 허용하려면 이를 로 변경할 수 있습니다 . 그러면 에서 까지의 모든 문자 , 대문자나 소문자, 숫자 또는 밑줄( ) 과 일치합니다 . 실제로 만 허용 하도록 설정한 경우 을 사용할 수 있습니다 .?
"
([\w])
A
Z
_
A
Z
([A-Za-z])
대괄호는 본질적으로 "다음 문자를 허용/허용하지 않음"을 나타내는 데 사용됩니다(허용하지 않음은 ^
여는 대괄호 바로 뒤에 문자를 추가하여 지정됩니다). 대괄호는 또한 A-Z
예상할 수 있듯이 위의 구문을 허용하며 제공된 두 값 사이의 모든 것을 허용합니다.
마지막으로 그룹화 주위에 괄호를 사용하면(위에 제공된 모든 변형에 적용됨) 이 값은 $1
아래에서 자세히 설명하는 자리 표시자를 사용하여 문자열에 다시 배치될 수 있습니다.
\r\n
Notepad++의 줄 바꿈과 일치합니다(다른 편집기에서는 줄 바꿈이 \n
또는 \r
대신일 수 있음).
전체적으로 정규식 자체의 두 섹션은 사용자가 지정한 문자와 줄 바꿈만 일치하는지 확인합니다.
교체 $1
문(다시 말하지만 나중에 공백을 추가해야 함)은 정규식 자체에서 일치하는 항목(줄 바꿈이 뒤따르는 해당 줄의 마지막 문자)을 가져와서 줄에 다시 배치합니다(이렇게 하면 이 명령문이 없으면 발생하는 문자를 제거하지 않습니다.) 공백은 단순히 선을 함께 뽑을 때 단어가 여전히 뚜렷하고 서로 병합되지 않도록 하기 위해 존재하는 것입니다.