Comment faire le premier caractère du pays en majuscule qui se trouve dans une chaine de caractère sous cette forme: Paris (france) ?
Version imprimable
Comment faire le premier caractère du pays en majuscule qui se trouve dans une chaine de caractère sous cette forme: Paris (france) ?
Bonjour,
il y a moult approche, en voici une
Cela doit bien exister sous la forme d'une regExp!Code:
1
2
3
4
5 var leTexte ='azerTyui'; leTexte = leTexte.toLowerCase(); leTexte = leTexte.split(''); leTexte[0] = leTexte[0].toUpperCase(); alert( leTexte.join(''));
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 :
Je souhaiterais mettre le premier caractère de chaque pays en majuscule.Code:villePay["Paris (france)","Bruxelle (belgique)","Montréal (canada)", "Casablanca (maroc)" ];
Je peux te proposer cela
ou encoreCode:leTexte = leTexte.replace(/\(([a-z])/ig, function( recup, letter){ return '(' +letter.toUpperCase();});
mais pas sûr quelles soient très propre.Code:leTexte = leTexte.replace(/\(([a-z])/ig, function( recup){ return recup.toUpperCase();});
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 :
d'ou provient les paramètres idem pour la 2eme fonction.Code:
1
2 function( recup, letter){ return '(' +letter.toUpperCase()
Pour le cas de mon tableau :
Code:
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>
Dans la méthode .replace(), on peut utiliser une fonction de remplacement en deuxième paramètre.
Lorsque l'on fait
les paramètres correspondent à :Code:
1
2
3 function( recup, capture, offset, chaine){ recup.toUpperCase(); });
dans ta fonction il te faut l'utiliser de la façon suivanteCode:
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 */
on peut donc simplifier attendu que l'on n'utilise pas tous les paramètresCode:
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(); }); }
Il est à noter pour le(s) paramètre(s) capture qu'il y en aura autant que de captures faites par la regExp.Code:
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(); }); }
:fleche: string.replace() sur MDN.Code:
1
2
3 function( recup, capt_1, capt_2 ..., offset, chaine){ // le code }
Merci beaucoup pour l'éclaircissement.