Médiaforma

All posts tagged chaines

Dans cette rubrique, vous allez découvrir ou redécouvrir quelques opérations sur les chaînes de caractères.

Le corps du document héberge un formulaire composé des éléments suivants :

  • Deux zones de texte de nom texte1 et texte2. La première zone de texte contient la chaîne “un petit chien” et la deuxième la chaîne “bleu sur un mur“.
  • Quatre boutons qui exécutent respectivement les fonctions JavaScript concat(), maj(), min() et troisprem() lorsqu’ils sont cliqués.

La fonction concat() commence par affecter le contenu des deux zones de texte aux variables t1 et t2. Document.forms[“form1”] donne accès au formulaire, elements[“texte1”] à la première zone de texte et value à la valeur affichée dans la première zone de texte.

Pour concaténer le contenu des deux zones de texte et ajouter un espace entre elles, il suffit d’utiliser l’opérateur “+” et d’affecter le résultat à la propriété value de la première zone de texte.

La fonction maj() mémorise le contenu de la première zone de texte dans la variable t1. Elle lui applique la fonction toUpperCase() et affecte le résultat obtenu à la propriété value de la première zone de texte.

La fonction min() est très similaire à la fonction maj() si ce n’est qu’elle utilise la fonction toLowerCase().

Enfin, la fonction troisprem() lit le contenu de la première zone de texte et le mémorise dans la variable t1. Pour isoler les trois premiers caractères de la chaîne obtenue, il suffit alors d’utiliser la fonction substring(). Le premier caractère correspond à l’index du premier caractère de l’extraction et le deuxième à la longueur de l’extraction.


Comme nous venons de le voir, la fonction sscanf() permet d’effectuer des recherches dans une chaîne et d’extraire dans des variables des données mises en forme. Les fonctions d’extraction de chaînes ne se limitent pas à la fonction sscanf(). Vous devriez également vous intéresser aux fonctions suivantes :

Fonction Effet
ltrim() Suppression des espaces en début de chaîne
rtrim() Suppression des espaces en fin de chaîne
str_replace() Remplace toutes les occurrences d’une sous-chaîne dans une chaîne
strlen() Longueur d’une chaîne
strpos() Recherche de la première position d’une sous-chaîne dans une chaîne
strrchr() Dernière occurrence d’un caractère dans une chaîne
strrev() Inverse la chaîne spécifiée
strrpos Recherche de la dernière position d’une sous-chaîne dans une chaîne
substr() Extrait une sous-chaîne d’une chaîne
trim() Supprime les espaces en début et en fin de chaîne

 

Pour en savoir plus sur ces fonctions, consultez la page http://php.net/manual/fr/ref.strings.php.


Si vous utilisez des guillemets pour délimiter une chaîne, vous pouvez indiquer le nom d’une variable directement dans la chaîne. Si vous utilisez des apostrophes pour délimiter la chaîne. Vous devez utiliser l’opérateur de concaténation (point décimal) pour concaténer chaînes et variables.

Pour mieux comprendre, essayez ce code :

$milieu = "font";

$fin = 15;

echo "Trois fois cinq $milieu $fin<br>";

echo ‘Trois fois cinq $milieu $fin<br>’;

echo ‘Trois fois cinq ‘.$milieu.’ ‘.$fin.'<br>’;


Les codes ASCII

Le petit programme ci-après affiche les caractères dont le code ASCII est compris entre 32 et 256 :

public class ASCII{

  public static void main (String args[]) throws java.io.IOException {
    // Illustration des caractères ASCII
    int i, j;
    char ch;

    System.out.println("Les caractères ASCII de 32 à 255");
    for (i=32; i<256; i++) {
      for (j=0; j<11; j++) {
        if ((i+j)<100)
          System.out.print("0");
        ch = (char) (i+j);
        if ((i+j)<257)
          System.out.print(i+j + " " + ch + "  ");
      }
      System.out.println("");
      i=i+10;
    }
  }
}

Chaînes de caractères

Pour manipuler des chaînes de caractères, vous utiliserez des objets non pas de type String, mais de classe String. Comme nous le verrons dans la suite de la formation, la syntaxe à utiliser pour ces différents objets est très similaire. Bien que les possibilités offertes par la classe String soient la plupart du temps suffisantes, vous pouvez également utiliser un tableau de char pour manipuler vos chaînes de caractères.

A titre d’exemple, l’instruction ci-après définit un objet String et lui affecte une valeur :

String s = new String("Ceci est une chaîne");

Pour faciliter l’écriture, on préfèrera cette syntaxe :

String s = "Ceci est une chaîne";

Les variables de classe String peuvent également contenir des caractères d’échappement :

Code Caractère Equivalent hexadécimal
\b Backspace \u0008
\t Tabulation horizontale \u0009
\n Line feed \u000a
\f Form feed \u000c
\r Carriage return \u000d
\” Guillemet \u0022
\’ Apostrophe \u0027
\\ Antislash \u005c
\xdd Valeur hexadécimale  
\ddd Valeur octale  
\u00xx Valeur hexadécimale représentant un caractère Unicode (où xx est compris entre 00 et ff)  

Exemples :

String c1 = "\f";
String c2 = "\u0084";

Dans cette vidéo, je vais vous montrer comment avoir cinq mille chaînes de télévision sur votre ordinateur. Cette prouesse réside dans l’utilisation de l’application LiveStation. Read more