Preciso reformatar uma string usando jQuery ou JavaScript vanilla
Digamos que sim "Sonic Free Games"
.
Eu quero convertê-lo para "sonic-free-games"
.
Portanto, os espaços em branco devem ser substituídos por traços e todas as letras convertidas em letras minúsculas.
Alguma ajuda sobre isso, por favor?
javascript
string
replace
MIM
fonte
fonte
str.replace(/\W+/g, '-').toLowerCase();
replace(/\s+/g, ..
e nãoreplace('/\s+/f', ..
(sem apóstrofo)String.prototype.trim
método:str.trim().replace(/\s+/g, '-').toLowerCase()
A resposta acima pode ser considerada um pouco confusa. Os métodos de sequência não estão modificando o objeto original. Eles retornam novo objeto. Deve ser:
fonte
Você também pode usar
split
ejoin
:fonte
A resposta do @ CMS está ótima, mas quero observar que você pode usar este pacote: https://github.com/sindresorhus/slugify , que faz isso por você e cobre muitos casos extremos (por exemplo, trema alemão, vietnamita, árabe) , Russo, romeno, turco etc.).
fonte
fonte