Мне нужно переформатировать строку, используя jQuery или ванильный JavaScript
Допустим, у нас есть "Sonic Free Games"
.
Я хочу преобразовать это в "sonic-free-games"
.
Таким образом, пробелы должны быть заменены тире, а все буквы преобразованы в маленькие буквы.
Любая помощь в этом, пожалуйста?
javascript
string
replace
МЕНЯ
источник
источник
str.replace(/\W+/g, '-').toLowerCase();
replace(/\s+/g, ..
и нетreplace('/\s+/f', ..
(без апострофов)String.prototype.trim
метод:str.trim().replace(/\s+/g, '-').toLowerCase()
Приведенный выше ответ можно считать немного запутанным. Строковые методы не изменяют исходный объект. Они возвращают новый объект. Это должно быть:
источник
Вы также можете использовать
split
иjoin
:источник
@ CMS отвечает просто отлично, но я хочу отметить, что вы можете использовать этот пакет: https://github.com/sindresorhus/slugify , который делает это для вас и охватывает множество крайних случаев (например, немецкие умлауты, вьетнамский, арабский) , Русский, румынский, турецкий и др.).
источник
источник