Я хочу заменить все вхождения символов пробела (пробел, табуляция, новая строка) в JavaScript.
Как это сделать?
Я попытался:
str.replace(/ /gi, "X")
javascript
trim
Sourav
источник
источник
Ответы:
Вы хотите
\s
Эквивалентно
в Firefox и
[ \f\n\r\t\v]
в IE .источник
replace
функция не изменяетсяstr
, поэтому вы должны назначить ее обратно.perl = TRUE
, какgsub(pattern = "[\\s]+", ..., perl = TRUE)
\s
является метасимволом, который покрывает все пробелы Вам не нужно делать это без учета регистра - пробел не имеет регистра.источник
Мы также можем использовать это, если мы хотим заменить все объединенные пробелы одним символом:
Смотрите это в действии здесь: https://regex101.com/r/d9d53G/1
объяснение
\s+
соответствует любому символу пробела (равно[\r\n\t\f\v ]
)+
Квантификатор - сопоставляет от одного до неограниченного количества раз, столько раз, сколько возможно, отдавая при необходимости (жадный)источник
Вы пробовали
\s
?источник
Если вы используете
он заменяет все пробелы. Например:
источник
Попробуй это:
источник
\s\n\t
совпадения: любой символ пробела, за которым следует символ новой строки, а затем табуляция.Не / ги но / г
дает
источник
На самом деле это сработало, но
просто попробуй это.
принять значение / \ s / g в строковую переменную, как
источник
replaceAll
?Я использовал метод "slugify" из underscore.string, и он работал как шарм:
https://github.com/epeli/underscore.string#slugifystring--string
Круто то, что вы можете просто импортировать этот метод, не нужно импортировать всю библиотеку.
источник