Penghapus Whitespace & Pembersih Teks

Bersihkan teks yang berantakan dengan menghapus spasi berlebih, tab, dan baris kosong.

Data Anda tidak meninggalkan perangkat Anda

Cara penggunaan

  1. Tempel teks Anda di area input.
  2. Pilih opsi pembersihan yang diinginkan (semua dicentang secara default).
  3. Klik Bersihkan teks untuk memproses.
  4. Salin atau unduh hasil yang dibersihkan.

Pertanyaan yang sering diajukan

Apa yang dianggap sebagai whitespace?

Spasi, tab, spasi tidak terputus, dan karakter spasi Unicode lainnya. Baris baru ditangani secara terpisah melalui opsi «baris kosong» dan «reduksi baris baru».

Apakah alat ini mengubah konten saya?

Tidak. Hanya menghapus atau mereduksi karakter whitespace. Kata, tanda baca, dan konten lain Anda tetap utuh.

Bisakah saya menggunakannya untuk kode?

Bisa, tetapi dengan hati-hati · menghapus spasi awal akan menghancurkan indentasi kode. Gunakan kotak centang individual untuk mengontrol secara tepat apa yang dibersihkan.

Apa yang sebenarnya dimaksud dengan «whitespace»

Karakter whitespace adalah karakter yang menghasilkan spasi kosong saat teks dirender, bukan glyph yang terlihat, digunakan untuk memisahkan kata, mengindentasi baris, dan memecah paragraf. Unicode Character Database menetapkan properti formal White_Space tepat untuk 25 code point. Tersangka yang sudah dikenal (spasi, tab, line feed, carriage return) mencakup sebagian besar apa yang akan Anda tempel, tetapi daftar lengkapnya juga mencakup spasi non-breaking (U+00A0), spasi non-breaking sempit (U+202F), 11 spasi tipografi dalam rentang U+2000-U+200A, pemisah baris dan paragraf (U+2028, U+2029), spasi matematika sedang (U+205F), dan spasi ideografis lebar penuh (U+3000) yang digunakan setelah tanda baca CJK.

Kelompok terpisah terlihat tidak terlihat tetapi tidak diklasifikasikan sebagai whitespace oleh Unicode: byte-order mark (U+FEFF), zero-width space (U+200B), zero-width joiner dan non-joiner (U+200D, U+200C), word joiner (U+2060), dan soft hyphen (U+00AD). Ini adalah kontrol pemformatan, bukan spasi, sebagian besar laporan «sudah dibersihkan tapi masih ada yang salah» berasal dari salah satunya.

Yang dilakukan alat ini, opsi per opsi

Keenam opsi adalah toggle independen (hapus centang yang ingin Anda lewati) dan masing-masing hanya berjalan pada teks yang Anda tempel. Tidak ada yang diunggah; pembersihan terjadi di browser Anda melalui regex pass JavaScript.

Kapan Anda akan menggunakannya

Gotcha umum

Konteks teknis singkat

Alat ini berjalan sepenuhnya di browser Anda menggunakan mesin regex bawaan JavaScript. String.prototype.trim() di mesin modern (setiap evergreen browser sejak sekitar 2015) menghapus spasi non-breaking dan byte-order mark, karena spec ECMAScript mendefinisikan set trim-nya sebagai gabungan produksi WhiteSpace dan LineTerminator, daftar yang mencakup tab, spasi biasa, NBSP, BOM, spasi tipografi, dan jeda baris CR / LF / LS / PS. Ini mengecualikan hanya satu karakter whitespace Unicode, U+0085 (NEL), yang merupakan keistimewaan yang diwarisi dari EBCDIC dan hampir tidak pernah muncul di teks modern.

Untuk input yang sangat besar, bagian yang lambat jarang adalah regex pass, melainkan penulisan hasil kembali ke textarea dan re-rendering DOM. Input hingga beberapa megabyte biasanya baik-baik saja di laptop modern; lebih dari itu, alat command-line (tr, sed, awk, atau skrip Python singkat) biasanya lebih cepat.

Pertanyaan lainnya

Apa perbedaan antara spasi biasa dan spasi non-breaking?

Keduanya dirender dengan lebar yang sama tetapi spasi non-breaking (NBSP, U+00A0) memberi tahu renderer untuk tidak memecah baris di titik tersebut. Word, Google Docs, dan banyak CMS menyisipkannya antara honorifik dan nama belakang (Mr. Smith), antara angka dan satuan (10 km), atau di sekitar simbol mata uang ($ 5). Ini adalah karakter «aneh» yang paling umum ditemukan dalam teks yang ditempel, dan itulah mengapa celah yang terlihat sama antara dua kata terkadang tidak tertangkap oleh regex yang ditulis untuk spasi biasa.

Apakah ini akan menghapus karakter zero-width atau byte-order mark?

Penanganan whitespace JavaScript umumnya menangkap byte-order mark (U+FEFF). Ia tidak menangkap zero-width space (U+200B), zero-width joiner (U+200D), zero-width non-joiner (U+200C), word joiner (U+2060), atau soft hyphen (U+00AD), Unicode tidak mengklasifikasikan hal-hal tersebut sebagai whitespace, sehingga mereka bertahan setelah whitespace pass sesuai desain. Jika Anda menduga salah satunya ada di teks Anda, Anda perlu inspector karakter tak terlihat.

Mengapa baris kosong dan beberapa newline merupakan dua opsi terpisah?

«Hapus baris kosong» menghapus setiap baris kosong, hasilnya adalah satu blok teks berkelanjutan tanpa pemisah paragraf. «Ciutkan beberapa newline menjadi satu» mempertahankan satu newline antar paragraf dan hanya menghapus yang ekstra. Jika Anda menginginkan paragraf yang dapat dibaca di keluaran, biarkan opsi pertama dimatikan dan gunakan yang kedua.

Apakah ada batas panjang?

Tidak ada batas yang keras, alat ini dapat menangani teks dalam kisaran puluhan ribu hingga beberapa juta karakter di laptop modern. Batasnya adalah performa textarea browser Anda: penempelan yang sangat besar mulai terasa lambat saat mengetik atau menyalin, bukan saat langkah pembersihan itu sendiri.

Apakah ada yang dikirim ke server?

Tidak. Teks tidak pernah meninggalkan browser Anda. Pembersihan berjalan secara lokal di JavaScript, hasilnya ditulis kembali ke textarea di halaman yang sama, dan Anda dapat menggunakan halaman ini secara offline setelah dimuat. Hal yang sama berlaku untuk setiap alat di Absolutool.

Alat terkait

Pengonversi Kasus Teks Gratis Kata & Karakter Counter Online Baris Sorter