텍스트에서 줄 바꿈을 제거하는 방법
텍스트 도구 키트에 텍스트를 붙여넣습니다. 하나의 연속 블록을 원할 경우 찾기 및 바꾸기를 Regex 모드로 전환하고 \s*\n\s*를 찾아 단일 공백으로 바꿉니다.
단락 나누기를 유지하려면 먼저 줄 자르기를 사용한 다음 (?<!\n)\n(?!\n)을 찾아 공백으로 바꾸세요. 이 패턴은 양쪽에 개행이 없는 개행(즉, 단락 중간 줄 바꿈)과 일치하고 단락 사이에 이중 개행만 남깁니다.
텍스트가 줄 바꿈과 함께 도착하는 이유
PDF에서 복사하는 것이 일반적인 소스입니다. PDF에는 단락이 없습니다. 즉, 페이지에 텍스트가 위치하므로 복사본은 시각적 줄이 끝나는 곳에 줄 바꿈을 삽입합니다. 페이지에서 6줄을 차지했던 단락이 6줄의 텍스트로 도착합니다.
일반 텍스트 이메일은 또 다른 일반적인 소스입니다. 이전 메일 클라이언트는 발신 메시지를 72자 또는 76자로 하드 래핑했으며 인용된 응답은 이러한 구분을 무기한 보존합니다.
구별되는 특징은 나누기가 문장 끝이 아닌 문장 중간, 대략 동일한 열에 있다는 것입니다. 이것이 기계적으로 제거 가능하게 만드는 이유입니다. 실제 단락 나누기는 공백 줄로 구분되지만 중간 단락 줄 바꿈은 그렇지 않습니다. 아래의 모든 내용은 그 차이에 달려 있습니다.
단락 유지: 단일 패턴 방법
패턴은 다음과 같습니다: 앞에 개행 문자가 없고 뒤에도 개행 문자가 오지 않는 개행 문자입니다. 단락 중간 랩이 일치합니다. 이중 중단의 각 줄 바꿈에는 한쪽에 줄 바꿈이 있으므로 둘 다 일치하지 않습니다.
도구가 오류로 인해 패턴을 거부하는 경우 브라우저는 뒤돌아보기를 지원하지 않는 것입니다. 이 경우 더 간단한 \s*\n\s* 대체를 사용하여 모든 것을 결합하고 텍스트를 붙여넣는 모든 항목에 단락 나누기를 다시 도입하십시오.
- 선 자르기를 누릅니다. 이렇게 하면 모든 줄에서 선행 및 후행 공백이 제거되므로 단락 구분 기호는 줄 바꿈, 흩어진 공백 및 또 다른 줄 바꿈이 아닌 정확히 두 개의 줄 바꿈이 됩니다.
- 정규식을 선택합니다.
- (?<!\n)\n(?!\n)을 찾아 공백 하나로 바꿉니다. 모두 바꾸기를 누릅니다.
- 개수를 확인하세요. 줄 바꿈된 줄 수와 대략 일치해야 하며, 총 줄 수보다 약 단락 수만큼 작아야 합니다.
모든 것을 하나의 블록으로 결합
인용문, 검색어 또는 단일 필드에 들어가는 항목의 경우 단락을 전혀 보호할 필요가 없습니다.
정규식 모드에서는 \s*\n\s*를 찾아 단일 공백으로 바꿉니다. 양쪽의 \s*는 들여쓰기와 후행 공백을 동시에 흡수하므로 나중에 별도의 이중 공백 정리가 필요하지 않습니다.
Windows 줄 끝 및 기타 잘못된 사항
- \n의 대체 항목이 0을 보고하거나 뒤에 문자가 남아 있으면 텍스트에 Windows 줄 끝이 있는 것입니다. \r을 찾아 먼저 아무것도 없는 것으로 바꾸십시오. CRLF를 LF로 변환하면 위의 패턴이 작동합니다.
- 여러 줄로 나누어진 하이픈으로 연결된 단어("inter-", 그 다음 "national")는 합류 후 "inter-national"이 됩니다. "-"를 찾아 아무것도 없는 것으로 바꾸세요. 하지만 그 패턴이 산문의 적절한 대시와 일치하기 때문에 먼저 개수를 읽어보세요.
- 행이 공백으로 끝나고 뒤돌아보기 패턴을 사용한 경우 이중 공백은 살아남을 수 있습니다. 공백 두 개를 찾아 한 개로 바꾸고 두 번 실행합니다.
- 단락 사이에 빈 줄이 없는 텍스트는 보호할 신호가 없습니다. 어떤 패턴도 인코딩되지 않은 단락 경계를 복구할 수 없으므로 직접 다시 삽입해야 합니다.
이 도구의 정규식 모드에 대한 두 가지 사항
패턴은 가드 내부에서 컴파일됩니다. 유효하지 않은 패턴은 오류 메시지를 표시하고 텍스트를 그대로 유지합니다. 단독으로 열린 괄호는 입력하는 동안 정상적인 중간 상태이며 작업을 파괴해서는 안 됩니다.
패턴은 전역 플래그를 사용하여 컴파일되고 multiline 또는 dotall 플래그는 사용하지 않고 컴파일됩니다. 따라서 대체는 항상 모든 곳에 적용됩니다. 점이 개행 문자와 일치하지 않습니다. ^ 및 $는 각 줄이 아닌 전체 텍스트에 고정됩니다. 줄 단위로 작업하려면 위의 패턴이 수행하는 작업인 개행 문자를 명시적으로 일치시키십시오.
찾기 및 바꾸기 필드는 한 줄 입력입니다. 개행 문자를 \n과 일치시킬 수는 있지만 삽입할 수는 없습니다. 대체 필드에 입력된 \n은 백슬래시 뒤에 n이 삽입되어 삽입됩니다. 그렇기 때문에 위의 메서드에서는 개행 문자를 다시 넣을 필요가 없습니다.
작업 예: PDF에서 복사한 두 단락
붙여넣은 텍스트에는 인쇄된 모든 줄 뒤에 하드 브레이크가 있고 두 단락 사이에 빈 줄이 하나 있습니다. 개행 문자에 /를 사용하면 다음과 같습니다.
"위원회는 3월에 제출된 제안을 검토하기 위해 화요일에 회의를 가졌습니다. 몇몇 위원들이 / 시간표에 대해 우려를 제기했습니다. / / 수정된 버전이 회람될 것입니다 / 다음 회의 전에."
총 5개의 개행 문자가 있습니다. 4개의 줄 바꿈과 2개의 연속 개행 문자로 작성된 1개의 단락 구분입니다. 5명 중 4명은 가야 합니다.
- 선 자르기를 누릅니다.
- Regex를 선택하고 (?<!\n)\n(?!\n)을 찾아 공백으로 바꾸고 모두 바꿉니다.
- 보고된 개수를 읽습니다.
결과: 도구는 3개의 교체(3개의 중간 단락 줄바꿈)를 보고하며 결과는 각각 하나의 연속된 줄에 있는 2개의 단락이며 여전히 빈 줄로 구분됩니다. 대신 \s*\n\s*를 사용하면 4가 보고되고 두 단락이 하나로 병합됩니다. 이는 인용에 대한 정답이고 여기서는 잘못된 답입니다.
도구 열기
모든 단계 후에 실행 취소 기록과 교체 횟수를 포함하는 리터럴 및 정규식 찾기 및 바꾸기입니다. 붙여넣은 내용은 어디로도 전송되지 않습니다.
여기에 포함되지 않는 내용
- 이는 리플로우가 아닌 찾기 및 바꾸기입니다. 주소 블록, 구절 또는 글머리 기호 목록과 같이 의도적으로 짧은 줄에서 문장 중간 줄 바꿈을 구분할 수 없습니다.
- 교체 필드는 개행 문자를 삽입할 수 없으므로 줄바꿈을 다시 설정해야 하는 모든 기술은 다른 곳에서 완료되어야 합니다.
- LookBehind 패턴에는 LookBehind 어설션을 지원하는 브라우저가 필요합니다. 이전 브라우저는 자동으로 실패하지 않고 잘못된 패턴 오류를 보고합니다.
- 처리는 기본 스레드에서 실행되므로 매우 큰 문서는 변환 중에 인터페이스를 잠시 일시 중지할 수 있습니다.
- 실행 취소는 마지막 50개 작업으로 제한됩니다.
- 방문 사이에는 아무것도 저장되지 않습니다. 페이지를 다시 로드하면 의도적으로 작업 내용이 삭제됩니다.