Ajoute d'espace entre différente type de caractère

Résolu/Fermé
Shxdely - 4 avril 2018 à 21:09
 Shxdely - 6 avril 2018 à 14:47
Bonsoir,

J'aurais besoin d'un bout de code en javascript qui pourrait prendre la valeur d'une variable et d'y ajouter une espace entre :
- Une lettre minuscule et une lettre majuscule
- Une lettre majuscule et une autre lettre majuscule
- Une lettre (majuscule ou minuscule) et un nombre

Quelqu'un pourrait m'aider ?



A voir également:

2 réponses

Utilisateur anonyme
5 avril 2018 à 11:45
Tu peux partir sur de l'expression régulière ou sur du code ASCII. Dans les deux cas, c'est assez complexe (enfin, pour moi)
0
merci je vais chercher un peu mais je pense pas y arriver :/
0
Utilisateur anonyme
5 avril 2018 à 12:36
Pas de problème, je me porte volontaire pour t'aider :-)
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 5 avril 2018 à 13:00
Bonjour,

Avec des expressions rationnelles tu peux faire comme ceci :
function addSpaces(str) {
   var result = str.replace(/([a-z])([A-Z])/g, "\1 \2"); // de minuscule à majuscule
   result = result.replace(/([A-Z])([A-Z])/g, "\1 \2"); // de majuscule à majuscule
   result = result.replace(/([a-zA-Z])([0-9])/g, "\1 \2"); // de lettre à chiffre
   return result;
}

Xavier
0
Salut tu pourrais m'aider à l'intégrer dans la ma fonction ? j'ai essayé mais je me retrouve avec 0 à chaque fois :
https://codeshare.io/5emBJL
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
6 avril 2018 à 09:27
Au temps pour moi, j'ai répondu sans vérifier. En Javascript, les remplacements se marquent avec des $...
Ce qui donne
function addSpaces(str) {
   var result = str.replace(/([a-z])([A-Z])/g, "$1 $2"); // de minuscule à majuscule
   result = result.replace(/([A-Z])([A-Z])/g, "$1 $2"); // de majuscule à majuscule
   result = result.replace(/([a-zA-Z])([0-9])/g, "$1 $2"); // de lettre à chiffre
   
    alert ("Before: " + str + "\nAfter: " + result);
   return result;  
}


Xavier
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
6 avril 2018 à 09:28
(Sans la ligne alert que j'avais mise pour vérifier... Désolé)
0
Salut je viens d'essayer mais ça ne fonctionne toujours pas, tu as réussi de ton coté ?
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 6 avril 2018 à 15:19
Oui, en remplaçant dans le code que tu m'as montré, juste les six "\" de ma fonction par des "$", ta page fonctionne parfaitement sur mon PC, ça me calcule bien les masses...
(code supprimé à la demande de l’auteur)
0