ค้นหาและแทนที่เป็นคุณสมบัติที่มีประโยชน์จาก MS Word ที่ให้คุณอัปเดตข้อความทั้งหมดที่ปรากฏพร้อมกัน ดังนั้น คุณไม่จำเป็นต้องค้นหาและแทนที่ข้อความในเอกสารทั้งหมดด้วยตนเอง ในบทความนี้ คุณจะได้เรียนรู้วิธีค้นหาและแทนที่ข้อความในเอกสาร Word จากภายในแอปพลิเคชัน C++ สิ่งนี้อาจมีประโยชน์เมื่อคุณต้องการแทนที่ข้อความเฉพาะในเอกสารหลายฉบับในคราวเดียว
- C ++ API เพื่อค้นหาและแทนที่ข้อความ
- ค้นหาและแทนที่ข้อความในเอกสาร Word
- ใช้นิพจน์ทั่วไปเพื่อค้นหาและแทนที่ข้อความ
- แทนที่ข้อความโดยใช้อักขระเมตา
- ละเว้นข้อความระหว่างการดำเนินการค้นหาและแทนที่
- รับใบอนุญาตฟรี
C ++ API เพื่อค้นหาและแทนที่ข้อความ
Aspose.Words for C++ คือไลบรารี C++ สำหรับสร้างใหม่และจัดการเอกสาร Word ที่มีอยู่ API รองรับคุณสมบัติการทำงานอัตโนมัติของ Word ขั้นพื้นฐานและขั้นสูงที่หลากหลาย คุณสามารถ ดาวน์โหลด แพ็คเกจ API หรือติดตั้งโดยใช้ NuGet
Install-Package Aspose.Words.Cpp
ค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ Aspose.Words for C++
- โหลดเอกสาร Word โดยใช้คลาส Document
- แทนที่คำที่ต้องการโดยใช้ Document->getRange()->Replace(u"sad", u"bad", System::MakeObject ) กระบวนการ.
- บันทึกเอกสาร Word ที่อัปเดตโดยใช้เมธอด Document->Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาและแทนที่คำว่า “sad” ด้วย “bad” ในเอกสาร Word โดยใช้ C++
// โหลดเอกสาร MS Word
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
- โหลดเอกสาร Word โดยใช้คลาส Document
- ใช้คลาส Regex เพื่อกำหนด regex
- แทนที่คำที่ต้องการโดยใช้ Document->getRange()->Replace(System::MakeObjectSystem::Text::RegularExpressions::Regex , คุณ “ไม่ดี”, ตัวเลือก) วิธี
- บันทึกเอกสาร Word ที่อัปเดตโดยใช้เมธอด Document->Save(String)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาและแทนที่ข้อความโดยใช้นิพจน์ทั่วไปใน C++
// โหลดเอกสาร MS Word
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 Word
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 มีวิธีการต่อไปนี้เพื่อละเว้นข้อความในสถานการณ์ต่างๆ:
- setIgnoreFields (บูล) - Ignores text inside the fields
- setIgnoreDeleted (บูล) - Ignores text inside the delete revisions
- setIgnoreInserted (บูล) - Ignores text inside the insert revisions
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีละเว้นข้อความในแต่ละสถานการณ์ที่กล่าวถึงข้างต้น
// โหลดเอกสาร MS Word
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);
// แทนที่ 'e' ในเอกสารโดยไม่สนใจข้อความที่ถูกลบ
options->set_IgnoreDeleted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);
// แทนที่ 'e' ในเอกสารโดยไม่สนใจข้อความที่แทรก
options->set_IgnoreInserted(true);
doc->get_Range()->Replace(System::MakeObject<Regex>(u"e"), u"*", options);
// บันทึกเอกสารที่อัปเดต
doc->Save(u"updated.doc");
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เห็นวิธีค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ C++ คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดแสดงวิธีปรับแต่งคุณลักษณะการค้นหาและแทนที่ในสถานการณ์ต่างๆ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API การทำงานอัตโนมัติของ C++ Word ได้โดยใช้ เอกสารประกอบ