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


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

пробовал:

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

8 ответов:

вы хотите \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");

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

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

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

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

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

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

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

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

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

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

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

String a = /\s/g;

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

не /gi но /g

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

дает

"My_Family_File.jpg"

Я использовал метод "slugify"из подчеркивания.строка и это сработало как шарм:

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

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