9. Strings

     ◄ Retour accueil

 

 


L'objet String


L'objet String permet de manipuler du texte. Une string agit comme un vecteur de caractères. Le premier caractère est à l'indice 0. Cet objet n'a qu'une propriété, lenght, qui retourne la longueur de la chaîne de caractères. String a aussi plusieurs méthodes permettant de formater le texte avec des balises HTML ou à accomplir des actions sur les chaînes.

Un objet String est créé par défaut lorsqu'on déclare une variable contenant une chaîne de caractères. Le contenu d'une string doit être entouré de guillemets ou apostrophes. L'objet string a un constructeur permettant de l'instancier avec le mot clé new.

Les guillemets

Puisqu'une string est délimitée par des guillemets, comment peut-on inclure des guillemets dans le texte de la string? Pour se faire, vous devez utiliser un caractère d'échappement. Il en va de même pour tous les caractères non affichable qu'on désire insérer dans une string. Un caractère d'échappement est un caractère précédé d'un antislash (\).

Exemple :

// On doit mettre \" pour insérer des guillemets et \' pour les apostrophes
var dialogue = "Isabelle le salua : \" Bonjour \'Mr.\' Deslauriers ! \" ";

// Il est important de savoir que \\ insère un antislash afin de donner les chemins d'accès
// correctement
document.write("Le fichier se trouve sur C:\\temp\\fichier2.txt");


Les sous-chaînes

Substring()

La méthode substring() permet d'extraire une sous-chaîne d'une string. Il faut lui donner en paramètre l'indice de début et de fin de la portion à extraire de la chaîne d'origine.

Exemple :

var texte = "Le caméléon se fait dorer au soleil";
var sousChaine = texte.substring(7, 25);                 // sousChaine contient "léon se fait dorer"

substr()
Cette méthode ressemble sensiblement à la précédente, à l'exception du fait que son deuxième paramètre au lieu d'être la position de fin est la longueur à extraire.

Exemple :

var sousChaine2 = texte.substr(7, 18);         // sousChaine2 contient "léon se fait dorer"

Il est important de ne pas oublier que les index débutent avec l'index 0 et que les espaces sont également des caractères.

slice()
Cette méthode qu'on a déjà vu, s'utilise sur les strings comme sur les vecteurs. Sa différence avec la méthode substring() set qu'elle accepte comme deuxième paramètre des nombres négatifs. Ces nombres signifient qu'on donne un indice à partir de la fin de la string.

Exemple :

var sousChaine3 = texte.slice(26, -7);        // sousChaine3 contient "au"


La concaténation

Concat()
Javascript nous permet également de combiner ensemble des strings, c'est-à-dire de les concaténer; les mettre bouts à bouts. Ainsi, la méthode concat() colle une chaîne à la fin d'une autre. La première chaîne sera celle dont la méthode est invoquée, la seconde est passé en paramètre.

Exemples :

var source = "Walt Disney est l'inventeur";
var resultat = source.concat(" du dessin animé moderne.");
// Resultat contient "Walt Disney est l'inventeur du dessin animé moderne."

// On peut passer une variable en paramètre à la méthode concat()
// Ou on peut remplacer l'appel de la méthode concat() par l'utilisation de l'opérateur +
var str1 = "Bambi est ";
var str2 = "le 2ième long métrage animé";
var resultat2 = str1.concat(str2);
var resultat2 =
str1 + str2;
// Ces deux méthodes donnent le même résultat "Bambi est le 2ième long métrage animé"

// On peut aussi utiliser l'opérateur +=  pour affecter le résultat de la concaténation à
// à la string appelante
str1+= str2;
// alors le résultat est dans str1.


Le formatage de texte

L'objet String comporte de nombreuses méthodes permettant de formater le texte afin de choisir l'apparence qu'il prendra dans la page Web. Ainsi ces méthodes permettent d'éviter d'ajouter des balises HTML dans le code.  Par exemple, la méthode big() fait en sorte que le texte soit afficher en caractères gras. La taille de la police peut être modifiée grâce à fontsize() qui reçoit en paramètre un nombre entier entre 1 et 7 où 7 est la taille la plus grande. La couleur de la police se modifie via fontcolor() qui accepte en paramètre un nom de couleur ou bien sa valeur hexadécimale.
 

Fonctions membres qui permettent d'appliquer des commandes HTML
.sub() Met le texte en indice .small() Réduit la police
.sup() Met le texte en exposant .big() Augmente la police
.blink() Clignotement .strike() Mot barré
.italics() Met en italique .Anchor(Nom) Crée une ancre du nom donné
.bold() Met en gras .link(URL) Crée un lien
.fontcolor('red') Met en la couleur voulue .fontsize('8') Met de la taille voulue

Exemples :

// La ligne de code correcte pour créer un lien écrit en gras serait semblable à celle-ci document.write("Lien.com".bold().link( ' URL '));

Il existe également des fonctions qui permettent de mettre des caractères en indices,sub(), ou en exposants,sup(). La différence de position des caractères est plus évidente lorsque mise à côté de texte non formaté.

Exemples :

document.write("H" + "2".sub() + "0");                 // Affichera H20
document.write("Y" + "2".sup());                            // Affichera Y2


Ancrages

Toutes les string peuvent être transformées en liens ou en ancrage. Pour créer un lien, il faut appliquer à une string la méthode link() recevant en paramètre un href, une adresse de site. L'adresse peut être relative ou absolue, un URL absolu doit est précédé de son protocole, par exemple HTTP://.  Pour qu'un lien soit dirigé vers une ancre, il faut lui donner en paramètre le nom de l'ancrage précédé du symbole #.

Exemples :

document.write("Voici un lien".link(www.amazon.com));
var lien = "Enchères";
document.write(lien.link(http://www.ebay.ca));
document.write("ancrage".link(#ancr1));

Un ancrage est une cible à l'intérieur de la page qui sera atteint par un lien, c'est-à-dire que lorsqu'on clique sur un lien, on est amené plus haut ou plus bas dans la page où se trouve l'ancrage. La méthode anchor() prend en paramètre le nom qu'on veut donner à cet ancrage.  Le menu de gauche de cette page fonctionne avec des ancres.

Exemple :

document.write("crée une ancre".anchor("ancr1"));


Longueur chaîne

La seule propriété de l'objet String est length, qui retourne la longueur d'une chaîne en y comptant tous ses caractères, espaces et balises html compris. Les caractères d'échappements, tels que \" ou \t sont comptés comme un seul caractère. Length est très utile dans les boucles pour itérer dans une chaîne.

Exemple :

var str = "Allo";
document.write(str.length);                
// Retourne 4


Modifier la casse

Il est souvent utile de modifier la casse d'un texte afin de le valider ou de l'afficher d'une manière uniforme. Ainsi il est possible de convertir une string en majuscules, toUpperCase(), ou minuscules, toLowerCase(), vice et versa. Si certaines données doivent être conservées dans une base de données et ensuite être recherchées, il est judicieux de les conserver toutes en majuscules ou minuscules afin de permettre des recherches non sensibles à la casse.

Exemples :

var texte = "Sur Internet écrire en majuscules signifie qu'on crie";

document.write(texte.toLowerCase());  
// Résultat :  sur internet écrire en majuscules signifie qu'on crie

document.write(texte.toUpperCase());
// Résultat :  SUR INTERNET ÉCRIRE EN MAJUSCULES SIGNIFIE QU'ON CRIE


Rechercher chaîne

La méthode de l'objet String qui permet de rechercher dans une chaîne est search(). Le paramètre de cette méthode est la section de chaîne à trouver dans une chaîne donnée. Cette méthode retourne l'index de la position de la chaîne cherchée ou -1 si la chaîne n'a pas été trouvée. 

Exemple :

var texte = "Le corbeau vivait au cimetière";

if (texte.search("chien") == -1)
    document.write("Le texte à rechercher n'existe pas.");

Il existe d'autres méthodes pour effectuer des recherches dans les string. La méthode indexOf() permet de trouver des occurrences de texte dans une chaîne. Elle peut accepter un seul paramètre étant l'occurrence à trouver et peut également avoir une deuxième paramètre indiquant l'indice de départ de la recherche. Pour effectuer  la recherche à partir de la fin, on peut utiliser la méthode lastIndexOf().


Remplacer texte

Javascript offre une méthode nommé replace() pour remplacer automatiquement une partie d'une string avec une autre. La méthode accepte comme premier paramètre le texte à remplacer et comme second le texte à y mettre à la place. Cette méthode ne remplace que la première occurrence trouvée. Pour remplacer toutes les occurrences, il faudrait recommencer la méthode en boucle.

Exemple :

var texte = "J'aime les livres, les films et les friandises.";
texte = texte.replace("les", "");    
// texte = "J'aime livres, les films et les friandises."


Découper chaîne

Javascript nous donne une méthode nommée split() qui permet de découper une chaîne en peuplant un vecteur de chaque sections de la chaîne délimitées par un caractère. La méthode n'accepte qu'un paramètre qui est le séparateur à localiser dans la chaîne pour en isoler les morceaux. La méthode retourne le vecteur où chaque élément ne comprend pas le séparateur.

Exemple :

var phrase = "Les rois du monde";
var vecteur = phrase.split(" ");             
// Le séparateur choisi est l'espace blanc
document.write(vecteur[1]);                
// Affichera : rois

 

   
Hosted by www.Geocities.ws

1