Hapus spasi di dalam string di javascript


101

Saya telah membaca pertanyaan tentang trim javascript, dengan jawaban regex.

Lalu saya berharap trim untuk menghapus ruang dalam antara Hello dan World.

function myFunction() {
    alert("Hello World ".trim());
}

DIEDIT

Kenapa aku mengharapkan itu !?

Omong kosong! Jelas trim tidak menghilangkan ruang dalam !, hanya yang di depan dan di belakang, begitulah cara kerja trim, maka ini adalah pertanyaan yang sangat salah, maaf.


10
trim menghapus spasi kosong dari awal dan akhir string
Manse

3
Trim menghapus spasi dari sebelum dan sesudah string. Hello Worldsudah "dipangkas '.
Roket Hazmat

@limelights Untuk Menampilkan "HelloWorld" alih-alih "Hello World"
Hernán Eche

4
@void: Itu bukan "pemangkasan", itu masalah yang berbeda.
Roket Hazmat

Jawaban:


236

Untuk penggunaan penghapusan karakter spasi

"hello world".replace(/\s/g, "");

untuk semua ruang putih gunakan saran oleh Rocket di komentar di bawah!


137
Anda mungkin ingin menggunakan .replace(/ /g, '')jika ada lebih dari sekali ruang.
Roket Hazmat

@Rocket, itu benar sekali, hanya jawaban yang belum diperbarui! Terima kasih! :)
Henrik Andersson

47
@Juhana: Jika Anda ingin menghapus spasi lain juga kemudian melakukan: .replace(/\s/g, '').
Roket Hazmat

12
@Rocket ya! jawaban yang benar! meskipun ini mungkin sedikit lebih efisien: str.replace (/ \ s + / g, '')
jackocnr

3
@PitchiahNatarajan \sakan mencocokkan spasi, tab, dan baris baru.
Rocket Hazmat


1

Anda dapat menggunakan metode Ganti string dengan ekspresi reguler.

"Hello World ".replace(/ /g, "");

Metode replace () mengembalikan string baru dengan beberapa atau semua kecocokan pola diganti dengan penggantinya. Polanya bisa berupa string atau RegExp

RegExp

  • / / - Spasi yang cocok untuk ekspresi reguler

  • g - Bendera global; temukan semua kecocokan daripada berhenti setelah kecocokan pertama


1

Kamu bisa memakai

"Hello World ".replace(/\s+/g, '');

trim()hanya menghilangkan spasi pada string (pertama dan terakhir pada rantai). Dalam hal ini regExp ini lebih cepat karena Anda dapat menghapus satu atau lebih spasi secara bersamaan.

Jika Anda mengubah string kosong pengganti menjadi '$', perbedaannya menjadi lebih jelas:

var string= '  Q  W E   R TY ';
console.log(string.replace(/\s/g, '$'));  // $$Q$$W$E$$$R$TY$
console.log(string.replace(/\s+/g, '#')); // $Q$W$E$R$TY$

Perbandingan kinerja - /\s+/glebih cepat. Lihat di sini: http://jsperf.com/s-vs-s


The jawaban yang diterima saat ini melakukan hal yang sama. Harap tunjukkan beberapa tes relevan yang menunjukkan ini lebih cepat dari jawaban itu dengan lebih dari nanodetik.
Monyet Sesat

@HereticMonkey Diperbarui!
ArlanG
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.