Saya memiliki string dengan spasi putih tambahan, setiap kali ada lebih dari satu spasi putih yang saya inginkan hanya satu.
Siapa saja? Saya mencoba mencari google, tetapi tidak ada yang berhasil untuk saya.
Terima kasih
javascript
string
trim
malam
sumber
sumber
Jawaban:
Sesuatu seperti ini:
sumber
Anda dapat menambah String untuk menerapkan perilaku ini sebagai metode, seperti pada:
Ini sekarang memungkinkan Anda untuk menggunakan formulir elegan berikut untuk menghasilkan string yang Anda inginkan:
sumber
menggunakan ekspresi reguler dengan fungsi ganti berfungsi:
sumber
Berikut solusi non-regex (hanya untuk bersenang-senang):
Ini membagi string dengan spasi putih , menghapusnya semua item array kosong dari array (yang lebih dari satu spasi), dan menggabungkan semua kata lagi menjadi string, dengan spasi putih tunggal di antara mereka.
sumber
Saya kira Anda mencari untuk menghapus spasi dari awal dan / atau akhir string (daripada menghapus semua spasi?
Jika itu masalahnya, Anda memerlukan regex seperti ini:
Ini akan menghapus semua spasi dari awal atau akhir string. Jika Anda hanya ingin memotong spasi dari akhir, maka regex akan terlihat seperti ini sebagai gantinya:
Semoga itu bisa membantu.
sumber
''
bukan' '
.jQuery.trim () berfungsi dengan baik.
http://api.jquery.com/jQuery.trim/
sumber
Saya tahu saya tidak boleh necromancy pada suatu subjek, tetapi mengingat rincian pertanyaannya, saya biasanya mengembangkannya menjadi:
Untuk ini, saya menggunakan kode seperti ini (tanda kurung pada regexp pertama ada hanya untuk membuat kode sedikit lebih mudah dibaca ... regexps bisa menyebalkan kecuali Anda terbiasa dengan mereka):
Alasan ini berfungsi adalah bahwa metode pada String-objek mengembalikan objek string di mana Anda dapat memanggil metode lain (seperti jQuery & beberapa perpustakaan lain). Cara yang jauh lebih ringkas untuk kode jika Anda ingin menjalankan beberapa metode pada satu objek secara berturut-turut.
sumber
var x = "Tes Tes Tes" .split ("") .join (""); waspada (x);
sumber
Coba ini.
hasilnya akan
Apa yang terjadi di sini adalah bahwa ia akan memangkas ruang luar menggunakan terlebih dahulu
trim()
kemudian memangkas menggunakan ruang dalam.replace(/\s+/g, ' ')
.sumber
Jika Anda ingin membatasi pengguna untuk memberikan ruang kosong pada nama, buat saja pernyataan if dan berikan kondisinya. seperti yang saya lakukan:
sumber
Bagaimana dengan yang ini?
"my test string \t\t with crazy stuff is cool ".replace(/\s{2,9999}|\t/g, ' ')
output
"my test string with crazy stuff is cool "
Yang ini juga menghilangkan semua tab
sumber
\s
. Regex yang tidak perlu kompleks, mungkin juga hanya menulis/\s+/g
.