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

Résolu
Shxdely -  
 Shxdely -
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 ?

2 réponses

  1. Utilisateur anonyme
     
    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
    1. Shxdely
       
      merci je vais chercher un peu mais je pense pas y arriver :/
      0
    2. Utilisateur anonyme
       
      Pas de problème, je me porte volontaire pour t'aider :-)
      0
  2. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    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
    1. Shxdely
       
      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
    2. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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
    3. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      (Sans la ligne alert que j'avais mise pour vérifier... Désolé)
      0
    4. Shxdely
       
      Salut je viens d'essayer mais ça ne fonctionne toujours pas, tu as réussi de ton coté ?
      0
    5. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      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