이 문서에서는 .NET 또는 .NET Core 애플리케이션에서 C#을 사용하여 Word 문서에서 텍스트를 찾고 바꾸는 다양한 접근 방식을 다룹니다.

찾기 및 바꾸기는 문서에서 원하는 텍스트를 빠르게 찾고 바꿀 수 있는 MS Word의 매우 유용한 기능입니다. 더 긴 문서로 작업할 때 더 편리하고 시간을 절약할 수 있습니다. 수백 개의 Word 문서에서 텍스트를 찾아 바꿔야 하거나 이 프로세스를 자동화해야 하는 경우 프로그래밍 방식을 선택하게 될 것입니다. 따라서 이 기사에서는 C#을 사용하여 다양한 시나리오에서 프로그래밍 방식으로 Word 문서의 텍스트를 찾고 바꾸는 방법을 보여 드리겠습니다. 이 기사를 읽고 나면 다음을 수행할 수 있습니다.

Word 문서에서 텍스트 찾기 및 바꾸기를 위한 C# 라이브러리

먼저 Visual Studio에서 새 C# 프로젝트(콘솔, ASP.NET 등)를 만들고 NuGet 패키지 관리자 또는 패키지 관리자 콘솔을 통해 Aspose.Words for .NET를 설치합니다.

NuGet 패키지 관리자를 통해 설치

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

패키지 관리자 콘솔을 통해 설치

PM> Install-Package Aspose.Words

.NET용 Aspose.Words를 설치했으면 이제 다음 Word 문서에서 텍스트를 찾고 교체해 보겠습니다.

C# 워드 문서에서 텍스트 찾기 및 바꾸기

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

다음은 Aspose.Words for .NET을 사용하여 Word 문서에서 특정 텍스트를 찾고 바꾸는 단계입니다.

FindReplaceOptions 클래스는 찾기/바꾸기 작업을 사용자 정의하기 위한 다양한 옵션을 제공합니다. 다음 코드 샘플은 C#을 사용하여 Word 문서에서 특정 단어나 문자열을 찾고 바꾸는 방법을 보여줍니다.

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

산출

C#을 사용하여 워드 문서에서 텍스트 찾기

C#을 사용하여 Word 문서에서 유사한 단어 찾기 및 바꾸기

API를 사용자 정의하여 유사한 단어를 찾고 특정 단어로 바꿀 수도 있습니다. 예를 들어, “sad"와 “mad"라는 단어를 찾아 한 단어로 바꿀 수 있습니다. 다음 코드 샘플은 C#을 사용하여 Word 문서에서 유사한 단어를 찾고 바꾸는 방법을 보여줍니다.

// Word docx 문서 로드
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true; 
// 문서에서 텍스트 찾기 및 바꾸기
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// 워드 문서 저장
doc.Save("Find-And-Replace-Multiple-Words.docx");

산출

C# docx 파일의 텍스트 바꾸기

C#에서 정규식을 사용하여 텍스트 찾기 및 바꾸기

특정 패턴으로 나타나는 텍스트를 찾아서 바꾸려는 경우가 있을 수 있습니다. 예를 들어 Word 문서에서 모든 전자 메일 ID를 숨기거나 바꿔야 합니다. 이러한 경우 이메일 ID에 대한 정규식을 생성하여 Document.Range.Replace(Regex, string, FindReplaceOptions) 메서드에 전달할 수 있습니다.

다음 코드 샘플은 Word 문서에서 패턴을 기반으로 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// Word docx 문서 로드
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true; 
// 이메일 ID에 대한 정규식 설정 
Regex EmailRegex = new Regex(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
// 문서에서 텍스트 찾기 및 바꾸기
doc.Range.Replace(EmailRegex, "[replaced]", options);
// 워드 문서 저장
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

산출

Word 문서에서 텍스트를 바꾸는 방법

HeaderFooter 클래스를 사용하여 Word 문서의 머리글 또는 바닥글 섹션에서 텍스트를 찾고 바꿀 수도 있습니다. 이를 위해 HeaderFooter.Range.Replace(string, string, FindReplaceOptions) 메서드가 사용됩니다. 다음 코드 샘플은 C#에서 Word 문서의 머리글/바닥글에 있는 텍스트를 바꾸는 방법을 보여줍니다.

// Word 문서 로드
Document doc = new Document("document.docx");
// Word 문서의 머리글/바닥글 액세스
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// 옵션 설정
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// Word 문서 바닥글의 텍스트 바꾸기
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// 워드 문서 저장
doc.Save("Find-And-Replace-Text-in-Footer.docx");

산출

Word 문서 C#.NET에서 텍스트 찾기 및 바꾸기

C#을 사용하여 Word 문서에서 메타 문자로 텍스트 찾기 및 바꾸기

특정 텍스트나 구가 여러 단락, 섹션 또는 페이지로 구성된 시나리오가 있을 수 있습니다. 이러한 경우 간단한 찾기 및 바꾸기 방법은 효과적으로 작동하지 않으며 단락 나누기, 섹션 나누기 또는 페이지 나누기를 처리해야 합니다. 이를 위해 Aspose.Words를 사용하면 검색 문자열 또는 대체 문자열에서 다음 메타 문자를 사용할 수 있습니다.

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

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

// Word docx 문서 로드
Document doc = new Document("document.docx"); 
// 옵션 설정 
FindReplaceOptions options = new FindReplaceOptions
{
	MatchCase = false,
	FindWholeWordsOnly = false
};
// 단락 나누기로 텍스트 바꾸기
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// 워드 문서 저장
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

산출

정규식 C#을 사용하여 텍스트 찾기 및 바꾸기

결론

이 문서에서는 프로그래밍 방식으로 일치하거나 유사한 단어, 구 및 정규식 패턴을 기반으로 Word 문서에서 텍스트를 찾고 바꾸는 몇 가지 유용한 방법을 다룹니다. 이러한 기능은 텍스트 교체 프로세스를 자동화할 뿐만 아니라 Word 문서에서 수동 찾기 및 바꾸기 작업에 필요한 많은 시간과 노력을 절약합니다. 문서를 사용하여 Aspose의 Word 라이브러리에 대해 자세히 알아볼 수 있습니다.

관련 기사

팁: 텍스트에서 애니메이션을 생성할 수 있는 무료 텍스트를 GIF로 변환에 관심이 있을 수 있습니다.