วิธีเปรียบเทียบข้อความ (Text Diff) ตรวจหาความต่าง

วิธีเปรียบเทียบข้อความ (Text Diff) ตรวจหาความต่าง

Text Diff คือการเปรียบเทียบข้อความสองเวอร์ชันเพื่อหาว่ามีส่วนใดเพิ่ม ลบ หรือแก้ไข — ใช้กันแพร่หลายทั้งงานเขียนและงานโค้ด

Diff แสดงผลยังไง

  • บรรทัดที่ เพิ่มเข้ามา → ขึ้นต้นด้วย +
  • บรรทัดที่ ถูกลบ → ขึ้นต้นด้วย -
  • บรรทัดที่เหมือนกัน → ไม่มีเครื่องหมาย

ตัวอย่าง

เวอร์ชัน 1: Hello world

เวอร์ชัน 2: Hello Thailand

ผล diff:

- Hello world
+ Hello Thailand

ใช้กับอะไรบ้าง

  • ตรวจโค้ด: หาโค้ดบรรทัดที่เปลี่ยนแปลงก่อน commit
  • เอกสารเวอร์ชัน: เทียบฉบับแก้ไขล่าสุดกับฉบับเก่า
  • ทำงานร่วมกัน: ดูว่าคนอื่นแก้ส่วนไหนของงานเรา
  • ตรวจสอบการลอก: เปรียบเทียบเนื้อหาสองไฟล์

เคล็ดลับ

  • ใช้ diff เพื่อตรวจทานก่อนส่งงาน (proofread)
  • เปรียบเทียบทีละบรรทัดจะเห็นชัดกว่าดูทั้งก้อน

ลองใช้ เครื่องเปรียบเทียบข้อความ เพื่อหา diff ทันที

ตีความผล Diff ให้ถูก: เพิ่ม ลบ หรือแก้ไข

ผู้เริ่มใช้หลายคนมองว่าเครื่องหมาย - กับ + เป็นเรื่องแยกกัน แต่จริง ๆ แล้วเวลาข้อความถูก “แก้ไข” diff มักแสดงเป็นคู่บรรทัด คือบรรทัดเก่าถูกลบ (-) แล้วบรรทัดใหม่ถูกเพิ่ม (+) ติดกันเป็นชุด การอ่านให้เป็นจะช่วยให้เข้าใจว่าเกิดการเปลี่ยนแปลงแบบ “แก้” ไม่ใช่ “ลบทิ้งแล้วเขียนใหม่ทั้งหมด”

ตัวอย่างเทียบสเปกบริการร้านอาหารสองเวอร์ชัน:

- ชาเย็น 25 บาท แก้วใหญ่ 35 บาท
+ ชาเย็น 30 บาท แก้วใหญ่ 40 บาท
- เปิด 08:00-20:00 น.
+ เปิด 08:00-21:00 น.

จะเห็นว่าราคาขึ้นทั้งแกวละ 5 บาท และเวลาปิดขยับจาก 8 โมงเย็นเป็น 3 ทุ่ม — สรุปการเปลี่ยนแปลงได้ในไม่กี่วินาที โดยไม่ต้องไล่อ่านเอกสารทั้งหน้า

ตารางเทียบสองเวอร์ชันของใบเสนอราคา

สมมติร้านหนึ่งส่งใบเสนอราคางานติดตั้งระบบ POS ให้ลูกค้า แล้วมีฉบับแก้ไข ลองดูว่า diff ช่วยตรวจตัวเลขได้แค่ไหน:

รายการฉบับเดิมฉบับแก้ไขส่วนต่างที่ diff จะชี้ให้เห็น
ค่าเครื่อง POS12,500 บาท13,900 บาท+1,400 บาท
ค่าติดตั้ง2,000 บาท2,000 บาทไม่เปลี่ยน (ไม่โชว์ใน diff)
ค่าระบบรายเดือน350 บาท/เดือน390 บาท/เดือน+40 บาท/เดือน
ส่วนลดเปิดร้าน1,000 บาท1,500 บาท+500 บาท (ลดหนี้ลูกค้า)
ยอดรวมปีแรก19,700 บาท22,080 บาท+2,380 บาท

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

ข้อผิดพลาดที่คนไทยพลาดบ่อย

ทีมงานเราเจอบ่อยเวลาช่วยลูกค้าตรวจเอกสาร ว่า diff โชว์ความต่างเยอะมากจนตกใจ ทั้งที่เนื้อหาแทบเหมือนเดิม เหตุผลมักเป็นเรื่องเล็ก ๆ ที่ตามองไม่เห็น:

สาเหตุตัวอย่างผลใน diff
เว้นวรรคซ้ำราคา 150 บาท (เว้นสองช่อง)ถือว่าต่างจาก ราคา 150 บาท
ตัวเล็ก/ตัวใหญ่pos system vs POS Systemถือว่าต่างทั้งบรรทัด
อักขระซ่อนเว้นวรรคท้ายบรรทัดที่มองไม่เห็นโชว์ว่าต่างโดยไม่รู้สาเหตุ
ปี พ.ศ. คนละรูปแบบ2568 vs 2568 น.ทั้งบรรทัดถูกนับว่าแก้ไข

ทางแก้ง่าย ๆ คือก่อนเทียบ ลองสแกนดูว่าเนื้อหาต่าง “กว้าง” เกินที่ควรหรือเปล่า ถ้าใช่ ให้สงสัยเรื่องช่องว่างและตัวพิมพ์ก่อนเป็นอย่างแรก

สิ่งที่ผู้ใช้จริงถามเราบ่อย

จากประสบการณ์ทำเว็บและเครื่องมือออนไลน์ให้คนไทยมาหลายปี เราได้รับคำถามเกี่ยวกับ Text Diff ในแนวทางเดียวกันซ้ำ ๆ สรุปมาให้ตรงนี้:

Diff ใช้เทียบไฟล์ PDF ได้ไหม? โดยตรงไม่ได้ เพราะ PDF เก็บข้อความในรูปแบบที่ซับซ