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

FAQ Flash 8

FAQ Flash 8Consultez toutes les FAQ

Nombre d'auteurs : 6, nombre de questions : 84, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireActionScriptLes chaînes de caractères

Il faut pour cela utiliser une des deux méthodes suivantes de la classe String :

  • substr
  • substring

La méthode substr prend en paramètre l'index de départ de la chaîne à extraire ainsi que la longueur de la chaîne à extraire.
La méthode substring prend, elle aussi, comme premier paramètre l'index de départ de la chaîne à extraire. Pas contre, elle prend l'index du premier caractère suivant la chaîne à extraire comme second paramètre.

Cans cet exemple, nous souhaitons extraire l'article "un" de la chaîne.

 
Sélectionnez
var sChaineInitiale:String = "Ceci est un exemple";
trace(sChaineInitiale.substr(9,2)); // 9 représentant l'index du u, 2 la longueur du mot extrait
trace(sChaineInitiale.substring(9,11)); // 9 représentant l'index du u, 11 l'index de l'espace qui suit le mot un

Remarque : Comme pour les tableaux, le premier index est 0.

Créé le 5 juin 2006  par Demco, Grégory Dumas

Il n'existe malheureusement pas de méthode "native" à Flash permettant cela.
Pour remédier à cela, nous allons utiliser les méthodes String.split et Array.join qui permettent respectivement de séparer une chaîne de caractères et de convertir les éléments d'un tableau en chaînes avec un mot de liaison.

Exemple :

 
Sélectionnez
function replace(sChaineInitiale:String, sSeparateurARemplacer:String, sSeparateurAInserer:String):String {
    return (sChaineInitiale.split(sSeparateurARemplacer)).join(sSeparateurAInserer);
}
// Usage
var sAncienneChaine:String = "Ceci est un elpmexe intéressant";
var sNouvelleChaine:String = replace(sAncienneChaine, "elpmexe", "exemple");
trace(sNouvelleChaine);
Créé le 5 juin 2006  par Grégory Dumas

Cette fonctionnalité n'existe pas de manière native dans Flash.
Cependant les méthodes charCodeAt et substring permettent de réaliser une telle fonction

 
Sélectionnez
function trim(s:String):String {
    var nEspace:Number = 32; // Code représentant l'espace
    var nBegin:Number = 0;
    var nEnd:Number = s.length;
    var c:Number = s.charCodeAt(nBegin) ;
    while (c == nEspace) {
        c = s.charCodeAt(++nBegin) ;
    }
    c = s.charCodeAt(nEnd-1); // -1 car les index commencent à 0
    while (c == nEspace) {
        c = s.charCodeAt(--nEnd) ;
    }
    return s.substring(nBegin, nEnd+1); // +1 car le second paramètre est l'index du premier caractère suivant la chaîne à extraire
}
// Usage
var sAncienneChaine:String = "     Ceci est une chaîne avec des espaces inutiles au début et à la fin      ";
var sNouvelleChaine:String = trim(sAncienneChaine);
trace("->"+sNouvelleChaine+"<-");
Créé le 5 juin 2006  par Grégory Dumas

Pour cela, il suffit d'utiliser les méthodes toUpperCase et toLowerCase fournies par la classe String

Exemple :

 
Sélectionnez
var s:String = "Une chaîne de CARACTÈRES";
trace(s.toUpperCase());// ==> UNE CHAÎNE DE CARACTÈRES
trace(s.toLowerCase());// ==> une chaîne de caractères

A noter que ces méthodes conservent les accents.

Créé le 5 juin 2006  par Grégory Dumas

Pour cela, nous allons utiliser une fonction interressante de la classe Array qui inverse l'ordre des éléments d'un tableau : la fonction reverse.
Cela consiste donc à convertir notre chaîne en tableau, inverser l'ordre de ce tableau, puis joindre ses éléments pour obtenir, à nouveau, une chaîne.

 
Sélectionnez
function reverse(s:String):String {
    var a:Array = s.split("");
    a.reverse();
    return a.join("");
}
// Usage
var sMaChaine = "Ceci est ma chaîne !";
trace(reverse(sMaChaine));
// Sortie : ! enîahc am tse iceC
Créé le 5 juin 2006  par Grégory Dumas

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003-2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.