remplacer les espaces dans une chaîne de caractères avec des traits d'union
J'ai un string et j'ai besoin de le fixer afin de l'ajouter à une requête.
Dire que j'ai la chaîne "Un Panier Pour Chaque Occasion" et je veux qu'il soit "Un-Panier-Pour-Chaque-Fois"
J'ai besoin de trouver un espace et de le remplacer par un trait d'union. Ensuite, j'ai besoin de vérifier si il y a un autre espace dans la chaîne. Si pas, le retour de la chaîne fixe. Dans ce cas, exécutez la même procédure à nouveau.
Sonne comme une fonction récursive pour moi, mais je ne suis pas sûr de savoir comment le configurer. Toute aide serait grandement appréciée.
OriginalL'auteur Nic Meiring | 2012-05-22
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une expression régulière de remplacement comme ceci:
Le "g" drapeau de l'expression régulière sera la cause de tous les espaces remplacés.
Vous souhaiterez peut-être réduire les espaces multiples à un seul trait d'union, de sorte que vous ne finissent pas avec de multiples tirets dans une rangée. Qui ressemblerait à ceci:
Je ne comprends pas votre commentaire. L'OP n'a pas clairement savoir sur les regex pour remplacer j'ai donc été de les éduquer et de leur montrer comment il fonctionne et c'est tout dans l'esprit de la SORTE et pour le bénéfice des générations futures de téléspectateurs). En outre, j'ai offert une amélioration idée qui permettrait d'éviter plusieurs tirets dans une rangée. Comment pensez-vous que cette question doit avoir obtenu une réponse?
Je suis désolé si j'ai dû faire quelque chose de mal, mais Vous pourriez lui ai demandé si il avait essayé quelque chose jusqu'à maintenant sur la même OP. D'autre d'ici, il pourrait penser de SORTE que le moment suivant, il pense à un problème au lieu d'essayer de le résoudre.
Je comprends ce point, mais dans ce cas, il est clair que l'OP ne pouvait penser à une fonction récursive, qui remplacerait un espace à la fois (c'est ce qu'ils ont pensé d'essayer), mais l'OP pensais qu'il devait y avoir quelque chose de mieux de disponible, donc demande pour des idées sur qui. En ce sens, cela semblait être une question juste pour moi.
OriginalL'auteur jfriend00
Utiliser le remplacer et pour trouver des espaces
\s
à l'échelle mondiale (g drapeau)un devient
OriginalL'auteur Tiago Peczenyj
Essayer
J'ai utilisé cela pour se débarrasser de mes espaces. Au lieu de le trait d'union je l'ai fait vide et fonctionne très bien. Également, il est de tous les JS.
.split(limiter)
va supprimer le limiteur et met la chaîne en morceaux dans un tableau (sans limiteur éléments) puis, vous pouvez joindre le tableau avec les traits d'union.OriginalL'auteur GreenGiant