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

168
26 сентября 2018, 06:00

Например, у меня есть строка Фрукты на продажу, и мне нужно получить строку в таком виде - Фрукты-на-продажу. Как это можно реализовать?

Answer 1

Можно обойтись и без регулярок:

var str = 'Яблоки круглые и (яблоки сочные)'; 
console.log(str.split(' ').join('-').split('(').join('').split(')').join(''));

UPD: Можно еще добавить String новый метод replaceAll():

String.prototype.replaceAll = function(search, replacement) { 
    var target = this; 
    return target.split(search).join(replacement); 
}; 
 
var str = 'Яблоки круглые и (яблоки сочные)'; 
console.log(str.replaceAll(' ', '-').replaceAll('(', '').replaceAll(')', ''));

Answer 2

Метод String.prototype.replace()

var re = / /g; // Флаг g - глобальный поиск совпадений по всей строке 
var str = 'Яблоки круглые и яблоки сочные'; 
var newstr = str.replace(re, '-'); 
 
console.log(newstr); 

Полезная ссылка: Регулярные выражения

READ ALSO
C# Ubuntu 16.04 ошибка сборки

C# Ubuntu 16.04 ошибка сборки

При попытке запуска командой dotnet run возникает следующая ошибка

158
“Поймать” ошибку цикла for

“Поймать” ошибку цикла for

Всем доброго времени суток!

210
Не изменяется App.config при добавлении сервиса WCF C#

Не изменяется App.config при добавлении сервиса WCF C#

Такая ситуация, создал контракт в виде библиотеки, создал реализацию в виде консольного приложения (хост)Сбилдил все

208