ActionScript 3.0, l'essentiel sous la main Adobe Flash Accueil
Fiches
Boutique
Contact
Traitement d'une chaine de caractères
Nous allons voir ici toutes les opérations que l'on peut effectuer sur une chaine de caractère :
  1. Renvoyer la position d'un caractère
  2. Détecter la présence d'un caractère
  3. Extraire un ou une chaine de caractères
  4. Remplacer un caractère
  5. Supprimer les accents
  6. Compter le nombre de caractère


1. Renvoyer la position d'un caractère dans une chaine de caratères : indexOf("caractère recherché")

//0123456789... la position du premier caractère est 0. Les espace compte comme 1 caractère.
var texte = "Ceci est un test";
texte.indexOf("u"); //Renvoi la position du premier 'u' trouvé dans la chaine de caractères 'texte' = 9



2. Détecter la présence d'un caractère dans une chaine de caratères :

if(texte.indexOf("#") != -1)
{
//Si le caratère '#' existe dans la chaine de caractères 'texte'
}



3. Extraire un ou une chaine de caractères : substr(point de départ,longueur)

//0123456789... par la gauche on commence par +0, puis 1,2,3...
var texte = "Ceci est un test";
//...-987654321 par la droite, on commance à -1 puis -2,-3...

//Extraction des 4 premiers caractères de la chaine 'texte'
var extraction = texte.substr(0,4); // = 'Ceci'

//Extraction de 3 caractères à partir du 5e caractère en partant du début de la chaine 'texte'
var extraction = texte.substr(5,3); // = 'est'

//Extraction de 2 caractères à partir du 7e caractère en partant de la fin de la chaine 'texte'
var extraction = texte.substr(-7,2); // = 'un'

//Extraction de 4 caractères à partir de la position du premier caractère 'te' trouvé dans la chaine 'texte'
var extraction = texte.substr(texte.indexOf("te"),4); // = 'test'

Si aucune longueur n'est spécifiée, la fonction extrait tout les caractères à partir du point de départ

//Extraction à partir du 5e caractère en partant du début de la chaine 'texte'
var extraction = texte.substr(5); // = 'est un test'

//Extraction à partir du 7e caractère en partant de la fin de la chaine 'texte'
var extraction = texte.substr(-7); // = 'un test'

//Extraction à partir de la position du premier caractère 'te' trouvé dans la chaine 'texte'
var extraction = texte.substr(texte.indexOf("te")); // = 'test'



4. Remplacer un caractère dans une chaine de caractères : split() et join()

//On remplace tout les 'a' minuscule par des 'B' majuscule dans la chaine 'texte'
texte = texte.split("a").join("B");

//On remplace tout les 'min' par des 'max' dans la chaine 'texte'
texte = texte.split("min").join("max");

//On remplace tout les ESPACE par des '_' dans la chaine 'texte'
texte = texte.split(" ").join("_");



5. Supprimer les accents dans une chaine de caractères : replace()

Vous pouvez le faire manuellement comme ci-dessus avec les fonctions split() et join(), ou bien avec cette méthode qui utilise la fonction replace(). L'avantage de la fonction replace() c'est de pouvoir spécifier plusieurs caractères à remplacer en même temps.

function sup_carac_sp(source):String
{
source = source.replace(/[àáâãäå]/g, "a");
source = source.replace(/[ÀÁÂÃÄÅ]/g, "A");
source = source.replace(/[èéêë]/g, "e");
source = source.replace(/[ËÉÊÈ]/g, "E");
source = source.replace(/[ìíîï]/g, "i");
source = source.replace(/[ÌÍÎÏ]/g, "I");
source = source.replace(/[ðòóôõöø]/g, "o");
source = source.replace(/[ÐÒÓÔÕÖØ]/g, "O");
source = source.replace(/[ùúûü]/g, "u");
source = source.replace(/[ÙÚÛÜ]/g, "U");
source = source.replace(/[ýýÿ]/g, "y");
source = source.replace(/[ÝÝŸ]/g, "Y");
source = source.replace(/[ç]/g, "c");
source = source.replace(/[Ç]/g, "C");
source = source.replace(/[ñ]/g, "n");
source = source.replace(/[Ñ]/g, "N");
source = source.replace(/[š]/g, "s");
source = source.replace(/[Š]/g, "S");
source = source.replace(/[ž]/g, "z");
source = source.replace(/[Ž]/g, "Z");
source = source.replace(/[æ]/g, "ae");
source = source.replace(/[Æ]/g, "AE");
source = source.replace(/[œ]/g, "oe");
source = source.replace(/[Œ]/g, "OE");
return source;
}

var texte:String = "àéÈùï";

sup_carac_sp(texte); //Renvoi 'aeEui'



6. Compter le nombre de caractère d'une chaine de caractères :

var texte = "Ceci est un test";
texte.length; //Renvoi le nombre de caractère dans la chaine 'texte' = 16
Commentaire(s)
Aucun.