ในบทความนี้ ฉันจะสาธิตวิธีค้นหาและแทนที่ข้อความในเอกสาร Word (DOC/DOCX) โดยทางโปรแกรมโดยใช้ Java คำแนะนำทีละขั้นตอนและตัวอย่างโค้ดจะครอบคลุมสถานการณ์ต่างๆ ของการค้นหาและแทนที่ข้อความในเอกสาร Word

ค้นหาและแทนที่ข้อความในเอกสาร Word

MS Word มีวิธีง่ายๆ ในการค้นหาและแทนที่ข้อความในเอกสาร หนึ่งในกรณีการใช้งานยอดนิยมของการค้นหาและแทนที่ข้อความอาจเป็นการลบหรือแทนที่ข้อมูลที่ละเอียดอ่อนภายในเอกสารก่อนที่จะแบ่งปันระหว่างเอนทิตีต่างๆ อย่างไรก็ตาม กระบวนการด้วยตนเองอาจทำให้คุณต้องติดตั้ง MS Word และอัปเดตเอกสารทุกฉบับแยกกัน ในสถานการณ์เช่นนี้ จะเป็นประโยชน์และประหยัดเวลา โดยเฉพาะอย่างยิ่งเมื่อคุณรวมคุณสมบัติการค้นหาและแทนที่ภายในเดสก์ท็อปหรือเว็บแอปพลิเคชันของคุณ ดังนั้นเรามาเริ่มดูวิธีการค้นหาและแทนที่ข้อความในเอกสาร Word โดยใช้ Java ในสถานการณ์ต่างๆ

Java API เพื่อค้นหาและแทนที่ข้อความในเอกสาร Word

ในการใช้คุณลักษณะการค้นหาและแทนที่ เราจะใช้ Aspose.Words for Java ซึ่งเป็น API การประมวลผล Word ที่ทรงพลัง มีคุณลักษณะหลากหลาย และใช้งานง่ายสำหรับแพลตฟอร์ม 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>

ค้นหาและแทนที่ข้อความในเอกสาร Word (DOC/DOCX) โดยใช้ Java

เริ่มต้นด้วยการระบุสถานการณ์ค้นหาและแทนที่อย่างง่ายซึ่งเราจะพบคำว่า “เศร้า” ในเอกสาร Word ที่ป้อนเข้า ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาและแทนที่ข้อความในเอกสาร Word DOCX โดยใช้ Java

// โหลดเอกสาร Word DOCX
Document doc = new Document("document.docx");
// ค้นหาและแทนที่ข้อความในเอกสาร
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// บันทึกเอกสาร Word
doc.save("Find-And-Replace-Text.docx");

ด้านล่างนี้เป็นเอกสาร Word ที่เราใช้ในบทความนี้

ค้นหาและแทนที่ข้อความใน DOCX โดยใช้ Java

ต่อไปนี้เป็นผลลัพธ์หลังจากค้นหาและแทนที่คำว่า “เศร้า”

ค้นหาและแทนที่คำ

ค้นหาและแทนที่คำที่คล้ายกันใน Word DOC/DOCX โดยใช้ Java

คุณยังสามารถปรับแต่ง API เพื่อค้นหาและแทนที่ข้อความตามความคล้ายคลึงกัน ตัวอย่างเช่น คำว่า “sad”, “mad” และ “bad” จะอยู่ในรูปแบบเดียวกันที่ลงท้ายด้วย “ad” รหัสอีเมลเป็นอีกตัวอย่างหนึ่งของข้อความดังกล่าว ในกรณีเช่นนี้ คุณสามารถกำหนดรูปแบบ regex เพื่อค้นหาและแทนที่ข้อความทั้งหมดที่มีรูปแบบเฉพาะ ต่อไปนี้เป็นขั้นตอนในการบรรลุเป้าหมายนี้

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาและแทนที่คำที่คล้ายกันตามรูปแบบเฉพาะโดยใช้ Java

// โหลดเอกสาร Word DOCX
Document doc = new Document("document.docx");
// ค้นหาและแทนที่คำที่คล้ายกันในเอกสาร
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// บันทึกเอกสาร Word
doc.save("Find-And-Replace-Text.docx");

ต่อไปนี้เป็นภาพหน้าจอของเอกสาร Word หลังจากอัปเดตคำที่คล้ายกัน

ค้นหาและแทนที่คำที่คล้ายกันโดยใช้ Java

Aspose.Words ยังช่วยให้คุณค้นหาและแทนที่ข้อความเฉพาะในส่วนหัว/ส่วนท้ายของเอกสาร Word ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • สร้างอินสแตนซ์ของคลาส Document และส่งต่อไปยังพาธของเอกสาร Word
  • รับ HeaderFooterCollection ของเอกสารโดยใช้เมธอด Document.getFirstSection().getHeadersFooters()
  • ดึงส่วนหัว/ส่วนท้ายเฉพาะในวัตถุ HeaderFooter
  • ใช้เมธอด HeaderFooter.getRange().replace() เพื่อค้นหาและแทนที่ข้อความ
  • บันทึกเอกสาร Word ที่อัปเดต

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาและแทนที่ข้อความในส่วนหัว/ส่วนท้ายของเอกสาร Word โดยใช้ Java

// โหลดเอกสาร 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);
// บันทึกเอกสาร Word
doc.save("Find-And-Replace-Text.docx");

ภาพหน้าจอต่อไปนี้แสดงข้อความที่อัปเดตในส่วนท้ายของเอกสาร Word

ค้นหาและแทนที่ข้อความในส่วนท้าย

ค้นหาและแทนที่ข้อความด้วยอักขระ Meta ใน Word DOCX โดยใช้ Java

อาจมีกรณีที่คุณต้องการค้นหาและแทนที่วลีที่แบ่งออกเป็นหลายบรรทัดหรือย่อหน้า ในกรณีเช่นนี้ คุณจะต้องดูแลย่อหน้า ส่วน หรือตัวแบ่งบรรทัด Aspose.Words for Java ช่วยให้คุณจัดการกับกรณีดังกล่าวได้ค่อนข้างง่าย ต่อไปนี้เป็นอักขระเมตาที่คุณสามารถใช้สำหรับช่วงพักต่างๆ:

  • &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);
// บันทึกเอกสาร Word
doc.save("Find-And-Replace-Text.docx");

ต่อไปนี้เป็นภาพหน้าจอของเอกสาร Word ที่ส่งออก

ค้นหาและแทนที่ข้อความด้วยอักขระเมตา

บทสรุป

ในบทความนี้ คุณได้เห็นวิธีค้นหาและแทนที่ข้อความในเอกสาร Word DOC/DOCX โดยทางโปรแกรมโดยใช้ Java สถานการณ์ต่างๆ ของการค้นหาและแทนที่ข้อความในไฟล์ MS Word DOCX ได้รับการแก้ไขแล้วด้วยความช่วยเหลือของตัวอย่างโค้ด คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Words for Java ได้จาก เอกสารประกอบ

ดูสิ่งนี้ด้วย