ข้อความ

Whitespace & Trim Tools

ล้างช่องว่างส่วนเกิน: ตัดช่องว่างที่ขอบบรรทัด รวมช่องว่างที่ซ้ำกัน ลบบรรทัดว่าง แปลงแท็บ ↔ ช่องว่าง

Extra whitespace — at line edges, doubled up inside text, blank lines, mixed tabs and spaces — is rarely visible at a glance, but it often breaks string comparisons, parsing, or how code looks. This tool cleans up such issues with a set of targeted operations.

How to use it

Common uses

Things to keep in mind

A non-breaking space ( , code point U+00A0) looks like a regular space but is a different character to a computer — strings containing it aren't equal to a regular space in comparisons.

Trimming line-edge whitespace doesn't touch spaces inside words or sentences — collapsing repeated internal spaces is a separate operation.

บทความเกี่ยวกับเครื่องมือนี้: ช่องว่างที่มองไม่เห็น: ทำไมการเปรียบเทียบข้อความที่ดูเหมือนกันจึงล้มเหลว

คำถามที่พบบ่อย

การตัดช่องว่างขอบกับการยุบช่องว่างซ้ำต่างกันอย่างไร?

การตัดช่องว่างขอบจะลบเฉพาะช่องว่างต้นและท้ายของแต่ละบรรทัด ส่วนการยุบช่องว่างซ้ำจะแทนที่ช่องว่างติดต่อกันหลายตัวในบรรทัดเดียวด้วยช่องว่างเดียว โดยไม่แตะขอบ

บรรทัดว่างและการแปลงแท็บ/ช่องว่างถูกจัดการอย่างไร?

คุณสามารถลบบรรทัดว่างทั้งหมด หรือยุบเฉพาะบรรทัดว่างติดต่อกันให้เหลือหนึ่งบรรทัด และแปลงแท็บเป็นช่องว่างหรือกลับกันโดยกำหนดความกว้างแท็บได้

ข้อความที่วางถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?

ไม่ การทำความสะอาดเกิดขึ้นทั้งหมดในเบราว์เซอร์ของคุณด้วย JavaScript ไม่มีข้อมูลใดถูกส่งไปที่อื่น

อักขระความกว้างศูนย์คืออะไร?

คืออักขระ (zero-width space, zero-width joiner ฯลฯ) ที่ไม่กินพื้นที่บนหน้าจอเลย แต่ยังคงอยู่ในข้อความในฐานะอักขระแยกต่างหาก บางครั้งติดมากับข้อความเมื่อคัดลอกจากบางเว็บไซต์ และอาจทำให้การเปรียบเทียบสตริงหรือการค้นหาพังโดยไม่รู้ตัว

ทำไม non-breaking space ถึงดูเหมือนช่องว่างธรรมดา แต่ทำงานต่างกัน?

Non-breaking space ( ) มองด้วยตาเหมือนช่องว่างธรรมดาทุกประการ แต่สำหรับคอมพิวเตอร์แล้วมันเป็นอักขระคนละตัว — สตริงที่มีช่องว่างสองแบบนี้จึงไม่เท่ากันในทางเทคนิคเมื่อเปรียบเทียบ แม้จะดูเหมือนกันบนหน้าจอก็ตาม

บทความ: ข้อความ

camelCase, snake_case, kebab-case: ควรใช้รูปแบบไหนเมื่อไหร่

เหตุใดจึงมี camelCase, snake_case และ kebab-case และแต่ละแบบมักใช้ที่ไหน

Text Diff: อัลกอริทึมหาความแตกต่างของข้อความทำงานอย่างไร

อัลกอริทึม diff หาชุดการเปลี่ยนแปลงที่น้อยที่สุดระหว่างข้อความสองเวอร์ชันได้อย่างไร

Regular Expression: พื้นฐานและกับดักของการจับคู่แบบโลภ

ความแตกต่างระหว่างการจับคู่แบบโลภและแบบขี้เกียจใน regex และเหตุใดจึงสำคัญในทางปฏิบัติ

การเรียงบรรทัด: ทำไมการเรียงตามตัวอักษรถึงต่างจากการเรียงตามตัวเลข

เหตุใดการเรียงตามตัวอักษรจึงปฏิบัติต่อตัวเลขเหมือนข้อความ และต่างจากการเรียงตามตัวเลขอย่างไร

การ Escape สตริง: ทำไมกฎถึงต่างกันใน JS, JSON, shell และ regex

เหตุใดจึงไม่มีกฎการ escape เดียวที่ใช้ได้ทุกที่ — JS, JSON, shell และ regex ต่างก็มีกฎของตัวเอง

CRLF กับ LF: ทำไมการขึ้นบรรทัดใหม่ยังคงสร้างปัญหา

ความแตกต่างระหว่าง CRLF กับ LF มาจากไหน และเหตุใดยังคงสร้างปัญหากับ git และสคริปต์

การนับตัวอักษรและคำ: ทำไม Unicode ทำให้ซับซ้อน

เหตุใดอิโมจิหนึ่งตัวที่เห็นด้วยตาจึงอาจประกอบด้วย code point หลายตัวใน Unicode

Lorem Ipsum: ข้อความหลอกนี้มาจากไหนและทำไมไม่มีความหมาย

ข้อความ Lorem Ipsum มาจากไหนจริง ๆ และเหตุใดจึงใช้ข้อความไร้ความหมายแทนข้อความจริง

Slugify: หัวข้อกลายเป็น URL ที่ใช้งานได้อย่างไร

หัวข้อบทความกลายเป็น URL ที่สะอาดและอ่านง่ายด้วยเครื่องหมายขีดได้อย่างไร

Markdown: ทำไมจึงกลายเป็นมาตรฐานของเอกสาร

เหตุใด Markdown จึงยังอ่านง่ายแม้ในรูปแบบดิบ ต่างจาก HTML

การกลับข้อความ: ทำไมจึงพังกับอิโมจิ

เหตุใดการกลับข้อความแบบง่ายจึงทำให้อิโมจิที่ประกอบจาก code point หลายตัวพังไป

การวิเคราะห์ความถี่ข้อความ: จาก word cloud สู่การถอดรหัส

การวิเคราะห์ความถี่ตัวอักษรช่วยถอดรหัสแบบแทนที่อักษรง่าย ๆ ในอดีตได้อย่างไร