이 기사에서는 Java를 사용하여 프로그래밍 방식으로 Word(DOC/DOCX) 문서에서 텍스트를 찾고 바꾸는 방법을 보여줍니다. 단계별 가이드 및 코드 샘플에서는 Word 문서에서 텍스트를 찾고 바꾸는 다양한 시나리오를 다룹니다.

Word 문서에서 텍스트 찾기 및 바꾸기

MS Word는 문서에서 텍스트를 찾고 바꾸는 쉬운 방법을 제공합니다. 텍스트 찾기 및 바꾸기의 인기 있는 사용 사례 중 하나는 문서 내의 민감한 정보를 다양한 엔터티 간에 공유하기 전에 제거하거나 바꾸는 것입니다. 그러나 수동 프로세스를 수행하려면 MS Word를 설치하고 모든 문서를 개별적으로 업데이트해야 할 수 있습니다. 이러한 상황에서 특히 데스크탑 또는 웹 애플리케이션 내에서 찾기 및 바꾸기 기능을 통합할 때 편리하고 시간을 절약할 수 있습니다. 다양한 시나리오에서 Java를 사용하여 Word 문서에서 텍스트를 찾고 바꾸는 방법을 시작하고 살펴보겠습니다.

Word 문서에서 텍스트 찾기 및 바꾸기를 위한 Java API

찾기 및 바꾸기 기능을 구현하기 위해 강력하고 기능이 풍부하며 사용하기 쉬운 Java 플랫폼용 워드 프로세싱 API인 Aspose.Words for Java를 사용합니다. JAR을 다운로드하거나 다음 구성을 사용하여 Maven 기반 애플리케이션에 설치할 수 있습니다.

저장소:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

의존:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

Java를 사용하여 Word 문서(DOC/DOCX)에서 텍스트 찾기 및 바꾸기

입력 Word 문서 내에서 “Sad"라는 단어를 찾을 수 있는 간단한 찾기 및 바꾸기 시나리오부터 시작하겠습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 Java를 사용하여 Word DOCX 문서에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// Word DOCX 문서 로드
Document doc = new Document("document.docx");
// 문서에서 텍스트 찾기 및 바꾸기
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// 워드 문서 저장
doc.save("Find-And-Replace-Text.docx");

아래는 이 기사에서 사용한 입력 Word 문서입니다.

Java를 사용하여 DOCX에서 텍스트 찾기 및 바꾸기

다음은 “sad"라는 단어를 찾아 교체한 후의 출력입니다.

단어 찾기 및 바꾸기

Java를 사용하여 Word DOC/DOCX에서 유사한 단어 찾기 및 바꾸기

API를 사용자 지정하여 유사성을 기반으로 텍스트를 찾고 바꿀 수도 있습니다. 예를 들어 “sad”, “mad” 및 “bad"라는 단어는 “ad"로 끝나는 유사한 패턴을 따릅니다. 이메일 ID는 이러한 텍스트의 또 다른 예입니다. 이러한 경우 정규식 패턴을 정의하여 특정 패턴이 있는 모든 텍스트 항목을 찾아 바꿀 수 있습니다. 이를 달성하기 위한 단계는 다음과 같습니다.

다음 코드 샘플은 Java를 사용하여 특정 패턴을 기반으로 유사한 단어를 찾고 바꾸는 방법을 보여줍니다.

// Word DOCX 문서 로드
Document doc = new Document("document.docx");
// 문서에서 유사한 단어 찾기 및 바꾸기
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// 워드 문서 저장
doc.save("Find-And-Replace-Text.docx");

다음은 유사한 단어를 업데이트한 후 Word 문서의 스크린샷입니다.

Java를 사용하여 유사한 단어 찾기 및 바꾸기

Aspose.Words를 사용하면 Word 문서의 머리글/바닥글에서만 텍스트를 찾고 바꿀 수 있습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 Java를 사용하여 Word 문서의 머리글/바닥글에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// Word DOCX 문서 로드
Document doc = new Document("document.docx");
// 머리글 바닥글 컬렉션 액세스
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// 찾기 및 바꾸기 옵션 설정
FindReplaceOptions options = new FindReplaceOptions();
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// 워드 문서 저장
doc.save("Find-And-Replace-Text.docx");

다음 스크린샷은 Word 문서 바닥글의 업데이트된 텍스트를 보여줍니다.

바닥글에서 텍스트 찾기 및 바꾸기

Java를 사용하여 Word DOCX에서 메타 문자로 텍스트 찾기 및 바꾸기

여러 줄이나 단락으로 나누어진 구를 찾아서 바꿔야 하는 경우가 있을 수 있습니다. 이러한 경우 단락, 섹션 또는 줄 바꿈을 처리해야 합니다. Java용 Aspose.Words를 사용하면 이러한 경우를 아주 쉽게 처리할 수 있습니다. 다음은 다양한 구분에 사용할 수 있는 메타 문자입니다.

  • &p: 단락 나누기
  • &b: 섹션 나누기
  • &m: 페이지 나누기
  • &l: 줄 바꿈

다음 코드 샘플에서는 Word 문서에서 텍스트를 찾아 단락 나누기로 바꾸는 방법을 보여 줍니다.

// Word DOCX 문서 로드
Document doc = new Document("document.docx");
// 옵션 설정
FindReplaceOptions options = new FindReplaceOptions();
// 대소문자 일치를 비활성화하고 전체 단어만 찾기
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// 단락 나누기로 텍스트 바꾸기
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// 워드 문서 저장
doc.save("Find-And-Replace-Text.docx");

다음은 출력된 Word 문서의 스크린샷입니다.

텍스트를 찾아서 메타 문자로 바꾸기

결론

이 기사에서는 Java를 사용하여 프로그래밍 방식으로 Word DOC/DOCX 문서에서 텍스트를 찾고 바꾸는 방법을 살펴보았습니다. MS Word DOCX 파일에서 텍스트를 찾고 바꾸는 다양한 시나리오는 코드 샘플의 도움으로 해결되었습니다. 문서에서 Aspose.Words for Java에 대해 자세히 알아볼 수 있습니다.

또한보십시오