Возможный дубликат:
Замените все пробелы в строке "+"
$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");
Это фрагмент кода. Я хочу добавить класс в ID после получения другого свойства текста ID. Проблема с этим - это идентификатор, содержащий текст, который мне нужен, содержит пробелы между буквами.
Я бы хотел, чтобы белые пробелы были удалены. Я пробовал TRIM()
и REPLACE()
но это только частично работает. REPLACE()
удаляет только 1-е пространство.
Вы должны сказать replace(), чтобы повторить регулярное выражение:
.replace(/ /g,'')
Г символ означает повторить поиск через всю строку. Прочтите об этом и других модификаторах RegEx, доступных в JavaScript здесь.
Если вы хотите сопоставить все пробелы, а не только символ буквального пробела, используйте вместо этого \s
:
.replace(/\s/g,'')
.replace(/\s+/, "")
Заменит только первый пробел, включая пробелы, табуляции и новые строки.
Чтобы заменить все пробелы в строке, вам нужно использовать глобальный режим
.replace(/\s/g, "")
.replace(/\s+/g, '')
что мне вполне подходит.x = " Many spaces before and after "
y = x.replace(/(^\s+|\s+$)/g, "")
^\s
означает пробел после начала строки,\s$
означает пробел в конце строки, символ|
это либо для / или в группе, и модификаторg
объясняется в комментариях выше. Вам также нужны+
квантификаторы после каждого\s
как вы хотите захватить один или несколько экземпляров пробелов.