Tanda hubung dan koma tidak memisahkan kata

Implementasi memakai trim() pada kedua ujung lalu memisahkan dengan /\s+/u. Masukan kosong atau hanya whitespace bernilai 0. Spasi, tab dan pergantian baris memisahkan kelompok; tanda hubung, koma dan apostrof saja tidak. \s JavaScript sesuai WhiteSpace dan LineTerminator pada spesifikasi.

Jadi state-of-the-art bernilai 1, one,two 1, dan one, two 2. don’t stop juga dua kelompok. ... bernilai 1 meski hanya tanda baca; jangan menganggapnya jumlah kata bermakna. words pada kode adalah statistik alat.

countText("state-of-the-art").words // 1
countText("one,two").words          // 1
countText("one, two").words         // 2
countText("don’t stop").words       // 2
countText("...").words              // 1
one,two bernilai 1; one, two 2; state-of-the-art 1
Diagram buatan sendiri dari hasil countText sebenarnya. Tanda kutip menandai batas masukan dan bukan bagian masukan. Angka adalah hitungan alat, bukan hitungan linguistik.

ECMAScript: CharacterClassEscape

Teks tanpa spasi tidak dipisahkan menurut bahasa

你好世界 bernilai 1 di alat ini. Itu tidak berarti kalimat Mandarin memiliki satu kata secara linguistik. Unicode UAX #29 menjelaskan bahwa batas kata tidak terbatas pada whitespace dan tanda baca, dan sebagian bahasa memerlukan penyesuaian. Moyoutil tidak memakai algoritme itu atau analisis kamus.

countText("你好世界").words // 1
countText("one  two").words // 2
countText("one\ntwo").words // 2
countText(" \t\n").words // 0

Unicode UAX #29: Word Boundaries

Tempel teks pada penghitung karakter dan byte untuk memperbarui statistik langsung. Periksa kalimat perwakilan dengan tanda hubung atau baris baru sebelum seluruh draf. Jika pengumpulan menentukan editor atau metode, gunakan untuk pemeriksaan akhir. Menambah spasi yang tidak perlu untuk mengubah jumlah mengubah teks itu sendiri.

Pertanyaan yang Sering Diajukan

Apakah spasi berulang atau baris baru menambah jumlah?

Pemisah berurutan membentuk satu batas. Dua spasi antara one dan two tetap 2; baris baru juga 2. Jumlah kata sama dapat memiliki jumlah karakter termasuk spasi atau byte UTF-8 berbeda.