Ganti semua karakter spasi


Jawaban:


321

Kamu ingin \s

Cocok dengan satu karakter spasi, termasuk spasi, tab, umpan formulir, umpan baris.

Setara dengan

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

di Firefox dan [ \f\n\r\t\v]di IE .


str = str.replace(/\s/g, "X");

42
1 untuk mengingat untuk menunjukkan bahwa replacefungsi tersebut tidak berubah str, jadi Anda harus menetapkannya kembali.
FishBasketGordo

1
Dalam sebuah fungsi, Anda dapat mengembalikan str.replace, jadi Anda tidak perlu menetapkan dalam cakupan itu.
Steve K

Ingat untuk R untuk digunakan perl = TRUE, sepertigsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

33

\sadalah karakter meta yang menutupi semua ruang kosong. Anda tidak perlu membuatnya peka huruf besar kecil - spasi tidak memiliki huruf besar-kecil.

str.replace(/\s/g, "X")

21

Kami juga dapat menggunakan ini jika kami ingin mengubah semua beberapa spasi kosong yang digabungkan dengan satu karakter:

str.replace(/\s+/g,'X');

Lihat aksinya di sini: https://regex101.com/r/d9d53G/1

Penjelasan

/ \s+/ g

  • \s+cocok dengan semua karakter spasi (sama dengan [\r\n\t\f\v ])
  • + Quantifier - Cocok antara satu dan waktu tidak terbatas, sebanyak mungkin, memberikan kembali sesuai kebutuhan (serakah)

  • Bendera pola global
    • g pengubah: g lobal. Semua pertandingan (jangan kembali setelah pertandingan pertama)


4

Jika Anda menggunakan

str.replace(/\s/g, "");

itu menggantikan semua spasi putih. Sebagai contoh:

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"

4

Coba ini:

str.replace(/\s/g, "X")

Itu tidak berhasil. \s\n\tkecocokan: sembarang karakter spasi, diikuti dengan baris baru, diikuti oleh tab.
Daniel Cassidy

3

Bukan / gi tapi / g

var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);

memberi

"My_Family_File.jpg"

1

Sebenarnya ini telah berhasil tetapi

coba saja ini.

ambil nilai / \ s / g menjadi variabel string seperti

String a = /\s/g;

str = str.replaceAll(a,"X");

mana Anda mendapatkan replaceAlldari?
Ionel Lupu

1

Anda bisa menggunakan fungsinya trim

let str = ' Hello World ';

alert (str.trim());

Semua ruang depan dan belakang di sekitar Hello World akan dihapus.


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.