J’ai besoin de reformater une chaîne en utilisant jQuery ou vanilla JavaScript
Disons que nous avons "Sonic Free Games"
.
Je veux le convertir en "sonic-free-games"
.
Les espaces blancs devraient donc être remplacés par des tirets et toutes les lettres converties en petites lettres.
Une aide à ce sujet s’il vous plaît?
Il suffit d’utiliser les méthodes Ssortingng replace
et toLowerCase
, par exemple:
var str = "Sonic Free Games"; str = str.replace(/\s+/g, '-').toLowerCase(); console.log(str); // "sonic-free-games"
Notez l’indicateur g
sur le RegExp
, il effectuera le remplacement globalement dans la chaîne, s’il n’est pas utilisé, seule la première occurrence sera remplacée, et aussi, ce RegExp
correspondra à un ou plusieurs caractères d’espace blanc.
La réponse ci-dessus peut être considérée comme un peu déroutante. Les méthodes de chaîne ne modifient pas l’object d’origine. Ils renvoient un nouvel object. Ce doit être:
var str = "Sonic Free Games"; str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str
Vous pouvez également utiliser split
et join
:
"Sonic Free Games".split(" ").join("-").toLowerCase(); //sonic-free-games