Javascript, remplacer tous les “%20” avec un espace
Est-il un moyen de remplacer tous les "%20" avec un espace à l'aide de JavaScript. Je sais comment faire pour remplacer un seul "%20" avec un espace, mais comment puis-je le remplacer tous?
var str = "Passwords%20do%20not%20match";
var replaced = str.replace("%20", " "); //"Passwords do%20not%20match"
- Vous pouvez utiliser
window.decodeURIComponent()
, il vous permet de convertir plus que de simplement '%20' si. - Non, ce n'est pas une réplique exacte. Il y a un problème plus profond, et il n'y est une réponse ici avec succès aborde cette question.
Vous devez vous connecter pour publier un commentaire.
Vérifier cela:
Comment remplacer toutes les occurrences d'une chaîne de caractères en JavaScript?
Réponse courte:
EDIT:
Dans ce cas, vous pouvez également effectuer les opérations suivantes:
Le pourcentage
%
signe suivi de deux chiffres hexadécimaux (UTF-8 du caractère de la représentation) dénote généralement une chaîne de caractères qui a été encodée à faire partie d'un URI. Cela garantit que les caractères qui autrement auraient une signification particulière n'interfèrent pas. Dans votre cas%20
est immédiatement reconnaissable comme un caractère espace - bien que pas vraiment ayant une signification dans un URI il est codée afin d'éviter la rupture de la chaîne en plusieurs "parties".Ne m'obtenez pas le mal, regex est de la bombe! Cependant, toute la technologie web la peine de se soucier ont déjà des outils disponibles dans sa bibliothèque pour gérer niveau comme cela pour vous. Pourquoi ré-inventer la roue...?
Javascript a la fois
decodeURI
etdecodeURIComponent
qui diffèrent légèrement en fonction de leurencodeURI
etencodeURIComponent
homologues - vous devriez vous familiariser avec la documentation.Utiliser le
global
drapeau dans regexp:Si vous souhaitez utiliser jQuery vous pouvez utiliser
.replaceAll()
Si vous avez besoin de supprimer des espaces blancs à la fin, alors voici une solution:
https://www.geeksforgeeks.org/urlify-given-string-replace-spaces/
JS: