Я хочу заменить все вхождения символов пробела (пробел, табуляция, новая строка) в JavaScript.
Как это сделать?
Я пробовал:
str.replace(/ /gi, "X")
Я хочу заменить все вхождения символов пробела (пробел, табуляция, новая строка) в JavaScript.
Как это сделать?
Я пробовал:
str.replace(/ /gi, "X")
Вы хотите \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/g, "X")
Если вы используете
str.replace(/\s/g, "");
он заменяет все пробелы. Например:
var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"
На самом деле это сработало, но
просто попробуйте это.
возьмем значение /\ 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" из underscore.string, и он работал как шарм:
https://github.com/epeli/underscore.string#slugifystring--string
Круто то, что вы можете просто импортировать этот метод, не нужно импортировать всю библиотеку.