Word C++에서 텍스트 찾기 및 바꾸기

찾기 및 바꾸기는 특정 텍스트의 모든 항목을 한 번에 업데이트할 수 있는 MS Word에서 제공하는 유용한 기능입니다. 따라서 전체 문서에서 수동으로 텍스트를 찾아 바꿀 필요가 없습니다. 이 기사에서는 C++ 응용 프로그램 내에서 Word 문서의 텍스트를 찾고 바꾸는 방법을 배웁니다. 이것은 한 번에 여러 문서에서 특정 텍스트를 교체해야 할 때 유용할 수 있습니다.

텍스트 찾기 및 바꾸기를 위한 C++ API

Aspose.Words for C++은 새 문서를 만들고 기존 Word 문서를 조작하기 위한 C++ 라이브러리입니다. API는 다양한 기본 및 고급 Word 자동화 기능을 지원합니다. API 패키지를 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

Install-Package Aspose.Words.Cpp

C++를 사용하여 Word 문서에서 텍스트 찾기 및 바꾸기

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

  • Document 클래스를 사용하여 Word 문서를 로드합니다.
  • Document->getRange()->Replace(u"sad", u"bad", System::MakeObject를 사용하여 원하는 단어 바꾸기 ) 방법.
  • Document->Save(String) 방식으로 업데이트된 Word 문서를 저장합니다.

다음 코드 샘플은 C++를 사용하여 Word 문서에서 “sad"라는 단어를 찾아 “bad"로 바꾸는 방법을 보여줍니다.

// MS 워드 문서 로드
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// 텍스트 찾기 및 바꾸기
doc->get_Range()->Replace(u"sad", u"bad", System::MakeObject<FindReplaceOptions>(FindReplaceDirection::Forward));

// 업데이트된 문서 저장 
doc->Save(u"updated.doc");

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

특정 패턴을 따르는 단어를 찾고 바꾸기 위해 정규식을 정의할 수도 있습니다. 예를 들어, “sad"와 “mad"라는 단어를 “bad"라는 단어로 바꿀 수 있습니다. 다음은 Word 문서에서 정규식과 일치하는 단어를 찾고 바꾸는 단계입니다.

  • Document 클래스를 사용하여 Word 문서를 로드합니다.
  • Regex 클래스를 사용하여 정규식을 정의합니다.
  • Document->getRange()->Replace(System::MakeObject를 사용하여 원하는 단어를 바꿉니다.System::Text::RegularExpressions::Regex , u"나쁜”, 옵션) 메서드.
  • Document->Save(String) 방식으로 업데이트된 Word 문서를 저장합니다.

다음 코드 샘플은 C++에서 정규식을 사용하여 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// MS 워드 문서 로드
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// 찾기 및 바꾸기 옵션 만들기
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// 텍스트 찾기 및 바꾸기
doc->get_Range()->Replace(System::MakeObject<System::Text::RegularExpressions::Regex>(u"[s|m]ad"), u"bad", options);

// 업데이트된 문서 저장 
doc->Save(u"updated.doc");

메타 문자를 사용하여 텍스트 찾기 및 바꾸기

특정 경우에 대체하려는 텍스트에는 줄 바꿈, 단락 나누기, 섹션 나누기 등이 포함될 수 있습니다. 이러한 시나리오를 처리하기 위해 Aspose.Words for C++는 검색 및 대체 문자열에서 다음 메타 문자를 지원합니다. .

  • 단락 나누기의 경우 &p
  • 섹션 나누기의 경우 &b
  • 페이지 나누기(&m)
  • &l 수동 줄 바꿈

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

// MS 워드 문서 로드
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// 찾기 및 바꾸기 옵션 만들기
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// 텍스트 찾기 및 바꾸기
doc->get_Range()->Replace(u"This is Line 1&pThis is Line 2", u"This is replaced line", options);
doc->get_Range()->Replace(u"This is Line 1&mThis is Line 2", u"Page break is replaced with new text.", options);

// 업데이트된 문서 저장 
doc->Save(u"updated.doc");

찾기 및 바꾸기 작업 중 텍스트 무시

Aspose.Words for C++를 사용하면 찾기 및 바꾸기 작업 중에 필드 내의 텍스트와 개정판을 무시할 수도 있습니다. FindReplaceOptions 클래스를 사용하면 이 사용자 지정을 추가하기 위한 옵션을 지정할 수 있습니다. FindReplaceOptions 클래스는 다양한 시나리오에서 텍스트를 무시하는 다음 메서드를 제공합니다.

다음 코드 샘플은 위에서 언급한 각 시나리오에서 텍스트를 무시하는 방법을 보여줍니다.

// MS 워드 문서 로드
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"Document.doc");

// 찾기 및 바꾸기 옵션 만들기
System::SharedPtr<FindReplaceOptions> options = System::MakeObject<FindReplaceOptions>();

// 필드 안의 텍스트를 무시하고 문서에서 'e' 바꾸기
options->set_IgnoreFields(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// 삭제된 텍스트를 무시하고 문서에서 '' 바꾸기
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// 삽입된 텍스트를 무시하고 문서에서 '' 바꾸기
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);

// 업데이트된 문서 저장 
doc->Save(u"updated.doc");

무료 라이선스 받기

평가 제한 없이 API를 사용하기 위해 무료 임시 라이선스 받기를 할 수 있습니다.

결론

이 기사에서는 C++를 사용하여 Word 문서에서 텍스트를 찾고 바꾸는 방법을 살펴보았습니다. 단계별 가이드 및 코드 샘플은 다양한 시나리오에서 찾기 및 바꾸기 기능을 사용자 지정하는 방법을 보여주었습니다. 문서를 사용하여 C++ Word 자동화 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오