Exercice 29/41

Soit la variable var1 de type string et qui contiennent le texte suivant

Lorem ipsum dolor sit amet

Dans le fichier "script.js" :

  • déclarez les variables result1 et result2;
  • exportez le texte ipsum dans result1 en utilisant slice();
  • exportez toute la chaîne à partir du d dans result2 en utilisant slice();
  • cliquez sur "Soumettre ma réponse".

Leçon 29/41

Dans une chaîne de caractères, il peut être utile de récupérer une partie du contenu avec la fonction slice().

À quoi ça sert ?

  • slice() récupère une partie d'une chaîne de caractères;
  • la sélection du texte à extraire utilise la position des caractères dans la chaîne (le premier caractère étant à la position 0);
  • la position de début est obligatoire, la position de fin est optionnelle et exclusive (le caractère correspondant ne sera pas sélectionné);
  • si la position de fin n'est pas indiquée, tous les caractères jusqu'à la fin de la chaîne seront récupérés à partir de la position de début;
  • il est possible de commencer par la fin de la chaîne de caractères en utilisant des chiffres négatifs;

Exemple :

var chaine = "Voici du texte";
var resultat1 = chaine.slice(1,4); // Affiche "oic"
var resultat2 = chaine.slice(0,5); // Affiche "Voici"
var resultat3 = chaine.slice(1); // Affiche "oici du texte"

Commentaires les mieux notés

  • vi.siv-71

    vi.siv-71

    le bon code: var result1=var1.slice(6,11); var result2=var1.slice(12);

    le 27/11/2019 à 15h07

  • yacine

    yacine

    Bonjour je ne comprends pas mon erreur.

    le 12/01/2017 à 19h24

  • v.redois

    v.redois

    "Avez-vous bien affecté le bon texte à "result2" ?" Oui.

    le 19/05/2016 à 21h30

  • yacine

    yacine

    J'ai trouvé!

    le 12/01/2017 à 19h42

  • aure_max

    aure_max

    j'ai finis par réussir l'exercice mais je ne comprend pas, si pour result1 c'est 6, ce cas il doit y avoir l'espace avant le mot

    le 15/01/2017 à 15h03

20 Commentaires

  • layaafzal74-42

    layaafzal74-42

    var result1=var1.slice(6,11) alert(result1); var result2=var1.slice(-14) alert(result2) <<is this the correct code? It's working!!>>

    le 20/07/2020 à 00h20

  • b.patou59-65

    b.patou59-65

    bonjour, est ce que les espaces comptent ?

    le 01/07/2020 à 12h46

  • meriam

    meriam Admin

    Bonjour, oui les espaces comptent?

    le 01/07/2020 à 12h53

  • alice.marti-cavalle-19

    alice.marti-cavalle-19

    var result1 = var1.slice(6,11) var result2 = var1.slice(12,26)

    le 15/05/2020 à 07h24

  • vi.siv-71

    vi.siv-71

    le bon code: var result1=var1.slice(6,11); var result2=var1.slice(12);

    le 27/11/2019 à 15h07

  • ou.broly-83

    ou.broly-83

    A quoi ça correspond ? Je ne comprends pas

    le 27/07/2018 à 15h06

  • mram

    mram Admin

    Les chiffres correspondent à la position des caractères dans le texte, espaces compris. Et on compte à partir de zéro.

    Exemple : "Toto fait du vélo".

    Le "f" est à la position 5.

    le 01/08/2018 à 05h48

  • vfaiola-21

    vfaiola-21

    hello, je ne vois pas mon erreur ;-) merci d'avance

    le 27/07/2018 à 14h35

  • mram

    mram Admin

    Ajoutez un espace après le signe =

    le 01/08/2018 à 05h45

  • lercat-63

    lercat-63

    Bonjour; il y a un truc que j'aimerai savoir; est-ce que les espaces comptent ?

    le 13/06/2018 à 19h06

  • mram

    mram Admin

    Bonjour, oui ils comptent.

    le 19/06/2018 à 04h37

  • mapmaya-7

    mapmaya-7

    Bonjour, pouvez-vous vérifier mon exercice ? voici le message d'erreur : Avez-vous utilisé la fonction slice() correctement dans les deux cas ?,Avez-vous bien affecté le bon texte à "result1" ?,Avez-vous bien affecté le bon texte à "result2" ?

    le 18/05/2018 à 13h50

  • mram

    mram Admin

    Bonjour, n'oubliez pas que l'on compte à partir de zéro.

    le 23/05/2018 à 06h50

  • radiere.theo-90

    radiere.theo-90

    c'est en fait la position de départ qui est exclusive, et non la position de fin !

    le 30/03/2018 à 09h20

  • mram

    mram Admin

    Non la position de départ n'est pas exclusive, mais attention on compte à partir de zéro. Si on met texte.slice(6,11) on extrait le texte à partir du 7ème caractère jusque'au 11ème caractère (qui est à la position 10 dans le tableau). Le 12ème caractère (position 11 du tableau) n'est pas extrait.

    le 01/04/2018 à 02h45

  • radiere.theo-90

    radiere.theo-90

    bonjour, vous expliquez que la fin est exclusive, mais dans l'exemple le résultat indiqué n'exclu pas les derniers caractères indiqués dans la demande de slice....

    le 30/03/2018 à 09h15

  • mram

    mram Admin

    Bonjour, si c'est bien le cas. Il y a trois exemples. Duquel parlez-vous ?

    le 01/04/2018 à 02h40

  • leon.thom-33

    leon.thom-33

    Bonsoir, vous pouvez m'aider

    le 10/02/2018 à 20h59

  • mram

    mram Admin

    Bonjour, votre code semble correct. Quelle erreur avez-vous ?

    le 12/02/2018 à 21h57

  • kahor-95

    kahor-95

    Je ne comprend pas mon erreur

    le 09/02/2018 à 18h51

  • mram

    mram Admin

    Bonjour, sur la première ligne, un des paramètres n'est pas le bon.

    le 12/02/2018 à 21h50

  • khalidb

    khalidb

    bonjour il y a trop d'erreur sur plusieurs exercice qui me fait perdre un temps enorme cela m'inquiete pour la suite

    le 04/12/2017 à 20h34

  • mram

    mram Admin

    Bonjour, il faut bien prendre le temps de lire l'énoncé. Au début vos chiffres donnés en paramètres de slice() n'étaient pas les bons. Mais vous avez fini par trouver c'est bien.

    le 05/12/2017 à 11h21

  • viesephora

    viesephora

    var result1 = var1.slice(6); var result2 = var1.slice(12); bonsoir j'ai un probleme avec mon result1. j'augmenté reduit les espaces, changé les valeur eventuellement fait un copier collé des mots a écrire car je pensai avoir fait une faute d'orthographe rien y fait

    le 14/11/2017 à 16h38

  • mram

    mram Admin

    Bonjour, à la première ligne il faut indiquer deux paramètres à slice() mais vous n'en mettez qu'un seul.

    le 16/11/2017 à 18h33

  • ari

    ari

    J'ai compté correctement dès le départ et ça ne marche pas il y avait une erreur dans mon code, j'avais marqué slice.var1 au lieu de l'inverse comme quoi il faut toujours relire son code^^

    le 11/10/2017 à 17h12

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Extraire du texte avec slice()</title> <script src="script.js"></script> </head> <body> </body> </html>
var var1 = 'Lorem ipsum dolor sit amet'