Удалите все несколько пробелов в JavaScript и замените одиночным пробелом [дубликат]

Этот вопрос уже имеет ответ здесь:

Как я могу автоматически заменить все экземпляры нескольких пробелов, с одиночным пробелом, в JavaScript?

Я попытался объединить некоторых в цепочку s.replace но это не кажется оптимальным.

Я использую jQuery также, в случае, если это - встроенная функциональность.

76
задан MultiplyByZer0 20 May 2017 в 17:25
поделиться

3 ответа

Вы можете использовать регулярное выражение replace:

str = str.replace(/ +(?= )/g,'');

Credit: The above regex was taken from Regex to replace multiple spaces with single space

154
ответ дан 24 November 2019 в 11:07
поделиться

Есть много вариантов регулярных выражений, которые вы можете использовать для этого. Один из примеров, который будет работать хорошо:

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

См. Этот вопрос для полного обсуждения этой конкретной проблемы: Регулярное выражение для замены нескольких пробелов одним пробелом

41
ответ дан 24 November 2019 в 11:07
поделиться

Вы также можете заменить без регулярного выражения.

while(str.indexOf('  ')!=-1)str.replace('  ',' ');
4
ответ дан 24 November 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: