IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

caractere dans une chaine en majuscule


Sujet :

JavaScript

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2004
    Messages : 282
    Points : 103
    Points
    103
    Par défaut caractere dans une chaine en majuscule
    Comment faire le premier caractère du pays en majuscule qui se trouve dans une chaine de caractère sous cette forme: Paris (france) ?

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    Bonjour,
    il y a moult approche, en voici une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var leTexte ='azerTyui';
    leTexte = leTexte.toLowerCase();
    leTexte = leTexte.split('');
    leTexte[0] = leTexte[0].toUpperCase();
    alert( leTexte.join(''));
    Cela doit bien exister sous la forme d'une regExp!

  3. #3
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2004
    Messages : 282
    Points : 103
    Points
    103
    Par défaut
    Merci pour ta réponse. mais ceux que je veux que le pays soit son premier caractère en majuscule.

    Car en vérité, j'ai un tableau sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    villePay["Paris (france)","Bruxelle (belgique)","Montréal (canada)", "Casablanca (maroc)" ];
    Je souhaiterais mettre le premier caractère de chaque pays en majuscule.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    Je peux te proposer cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leTexte = leTexte.replace(/\(([a-z])/ig, function( recup, letter){ return '(' +letter.toUpperCase();});
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leTexte = leTexte.replace(/\(([a-z])/ig, function( recup){ return recup.toUpperCase();});
    mais pas sûr quelles soient très propre.

  5. #5
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2004
    Messages : 282
    Points : 103
    Points
    103
    Par défaut
    comme je ne suis pas forte je n'ai pas pu appliquer ton code sur le prg.

    car j ai pas compris la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function( recup, letter){ return '(' +letter.toUpperCase()
    d'ou provient les paramètres idem pour la 2eme fonction.

    Pour le cas de mon tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script>
     
    var villePay = ["Paris (france)","Bruxelle (belgique)","Montréal (canada)", "Casablanca (maroc)" ];
     
    for(var i=1; i<villePay.length; i++){
        villePay[i];
       // peut etre que c'est ici ke je dois le mettre mais comment ?
     
    }
     
    </script>

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 060
    Points : 44 585
    Points
    44 585
    Par défaut
    Dans la méthode .replace(), on peut utiliser une fonction de remplacement en deuxième paramètre.
    Lorsque l'on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function( recup, capture, offset, chaine){
            recup.toUpperCase();
          });
    les paramètres correspondent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /*
    - recup   : texte trouvé par la regex
    - capture : partie capturée par les parenthèses
    - offest  : position de la recup
    - chaine  : la chaîne entière testée
    */
    dans ta fonction il te faut l'utiliser de la façon suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var i, nb = villePay.length;
    for( i=0; i<nb i++){
        villePay[i]=villePay[i].replace(/\(([a-z])/ig, function( recup, capture, offset, chaine){
            recup.toUpperCase();
          });
    }
    on peut donc simplifier attendu que l'on n'utilise pas tous les paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var i, nb = villePay.length;
    for( i=0; i<nb i++){
        villePay[i]=villePay[i].replace(/\(([a-z])/ig, function( recup){
            recup.toUpperCase();
          });
    }
    Il est à noter pour le(s) paramètre(s) capture qu'il y en aura autant que de captures faites par la regExp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function( recup, capt_1, capt_2 ..., offset, chaine){
      // le code
    }
    string.replace() sur MDN.

  7. #7
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2004
    Messages : 282
    Points : 103
    Points
    103
    Par défaut
    Merci beaucoup pour l'éclaircissement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment remplacer caracteres dans une chaine ?
    Par ChristopheOce dans le forum C#
    Réponses: 6
    Dernier message: 07/09/2011, 15h46
  2. Compter le nombre de caractere dans une chaine
    Par jmjmjm dans le forum C++
    Réponses: 13
    Dernier message: 19/11/2006, 11h37
  3. fct pour lire autant de caracteres dans une chaine?
    Par jeanfrancois dans le forum Langage
    Réponses: 3
    Dernier message: 30/03/2006, 15h45
  4. Réponses: 2
    Dernier message: 12/01/2006, 08h34
  5. [langage] compter des caracteres dans une chaine
    Par louisis dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2004, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo