Заменить все пробельные символы

Я хочу заменить все вхождения символов пробела (пробел, табуляция, новая строка) в JavaScript.
Как это сделать?

Я пробовал:

str.replace(/ /gi, "X")

Ответ 1

Вы хотите \s

Соответствует одному пробелу символ, включая пробел, табуляцию, форму подача, перевод строки.

Эквивалент

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

в Firefox и [ \f\n\r\t\v] в IE.


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

Ответ 2

\s - метасимвол, который охватывает все пробелы. Вам не нужно делать его нечувствительным к регистру - пробел не имеет случая.

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

Ответ 3

Мы также можем использовать это, если хотим изменить все множественные объединенные пустые пространства одним символом:

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

Ответ 4

Вы пробовали \s?

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

Ответ 5

Попробуйте это:

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

Ответ 6

Если вы используете

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

он заменяет все пробелы. Например:

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

Ответ 7

На самом деле это сработало, но

просто попробуйте это.

возьмем значение /\ s/g в строчную переменную типа

String a = /\s/g;

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

Ответ 8

Не/gi но /g

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

дает

"My_Family_File.jpg"

Ответ 9

Я использовал метод "slugify" из underscore.string, и он работал как шарм:

https://github.com/epeli/underscore.string#slugifystring--string

Круто то, что вы можете просто импортировать этот метод, не нужно импортировать всю библиотеку.