Exercice 30/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 la variable result;
  • exportez le texte dolor sit dans result en utilisant substr();
  • cliquez sur "Soumettre ma réponse".

Leçon 30/41

Pour récupérer une partie d'une chaîne de caractère il existe aussi la fonction substr() qui fait la même chose mais de manière un peu différente.

À quoi ça sert ?

  • substr() récupère une partie d'une chaîne de caractères;
  • la sélection du texte à extraire utilise la position du premier caractère à extraire puis la longueur de la sous-chaîne que vous souhaitez extraire;
  • la position de début est obligatoire, la longueur est optionnelle;
  • si la longueur 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;

Exemple :

var chaine = "Voici du texte";
var resultat = chaine.substr(9,5); // Affiche "texte"

Commentaires les mieux notés

  • JAOIDE

    JAOIDE

    Bonjour, le premier caractère est comptez comme 0, ensuite bien calculer jusqu'au mot à extraire (inclure les espaces) ensuite comptez le nombre de lettres à extraire (inclure les espaces) des mots demandé: voici le résultat : var result=var1.substr(12,9);

    le 28/10/2018 à 15h13

  • adel.rezgui-65

    adel.rezgui-65

    var var1 ="Lorem ipsum dolor sit amet"; var result = var1.substr(12,9); alert(result); cela est bon

    le 25/06/2019 à 10h26

  • alaindesombre-6

    alaindesombre-6

    Vous devez assigner une fonction de la variable var1 à la variable result mon code fonctionne

    le 02/12/2019 à 14h22

  • Fernanth

    Fernanth

    soit c'est bug-land, soit je fat que des erreurs mais c'est le troisième exercice ou je ne trouve pas mon erreur...

    le 17/01/2017 à 11h56

  • mram

    mram Admin

    Non ce n'est pas bugland, relisez comment s'utilise la fonction, et notamment le calcul des positions de début et de fin permettant d'extraire la chaîne de caractères.

    le 17/01/2017 à 22h13

20 Commentaires

  • aliraad2030-66

    aliraad2030-66

    bonjour, j'ai une question à propos du fonction substr: var chaine = "Voici du texte"; var resultat = chaine.substr(9,5); // Affiche "texte", pour le 9 c'est clair, c'est compté a partir du zero, mais pour le 5 ca sert a quoi? comment vous comptez ca? Merci d'avance

    le 20/02/2020 à 22h22

  • meriam

    meriam Admin

    Bonjour, la fonction substr permet de récupérer une partie d'une chaine de caractères. Le premier paramètre indique la position du premier caractère à extraire puis le deuxième caractère indique la longueur de la sous-chaîne que vous souhaitez extraire.

    le 21/02/2020 à 11h06

  • meriam

    meriam Admin

    pour la position on commence à partir de la position 12.

    le 21/02/2020 à 11h12

  • alaindesombre-6

    alaindesombre-6

    Vous devez assigner une fonction de la variable var1 à la variable result mon code fonctionne

    le 02/12/2019 à 14h22

  • adel.rezgui-65

    adel.rezgui-65

    var var1 ="Lorem ipsum dolor sit amet"; var result = var1.substr(12,9); alert(result); cela est bon

    le 25/06/2019 à 10h26

  • JAOIDE

    JAOIDE

    Bonjour, le premier caractère est comptez comme 0, ensuite bien calculer jusqu'au mot à extraire (inclure les espaces) ensuite comptez le nombre de lettres à extraire (inclure les espaces) des mots demandé: voici le résultat : var result=var1.substr(12,9);

    le 28/10/2018 à 15h13

  • clad91130-95

    clad91130-95

    mon message entier n'as pas été pris en compte j'ai calculé la longueur en partant de zero et en comptant les espaces j'arrive en longueur 12 a 16 et je vois dans les commentaires 12 a 9 je ne comprends pas

    le 03/09/2018 à 10h54

  • mram

    mram Admin

    Le premier nombre correspond à la position du premier caractère du texte que l'on souhaite extraire. Le deuxième, le nombre de caractères que l'on souhaite extraire à partir de celui-ci.

    Donc à partir de la 12ème position, on souhaite extraire 9 caractères.

    le 10/09/2018 à 03h35

  • djalloh2016-72

    djalloh2016-72

    exo encore instructif et facile je pense que nous les apprenant nous ne lisons pas bien l'énoncé et n'essayons surtout pas de comprendre ce qui est demandé raison pour laquelle toujours d'erreurs:en un ligne voici le code:var result = var1.substr(12,9);

    le 25/02/2018 à 17h53

  • andrewedina-29

    andrewedina-29

    var var1 ="Lorem ipsum dolor sit amet"; var result = var1.substr(12,9); alert(result);

    le 04/02/2018 à 22h30

  • mram

    mram Admin

    Bonjour , la ligne 1 est inutile car on a déjà déclaré "var1" pour vous et elle contient déjà du texte.

    le 06/02/2018 à 11h46

  • doucette.manon

    doucette.manon

    var result = var1.substr("12,9"); alert(result); M'affiche : Avez-vous utilisé la fonction substr() correctement ?

    le 01/12/2017 à 09h41

  • mram

    mram Admin

    Bonjour, oui c'est correct, mais essayez de le faire en deux étapes. Déclarer juste "result" d'abord, puis affecter le résultat de l'opération ensuite.

    le 05/12/2017 à 10h58

  • rrit3880

    rrit3880

    bonjour ou ce trouve mon problème tout est bon pourtant var var1="Lorem ipsum dolor sit amet"; var result=var1.substr(11,10); alert(result);

    le 20/11/2017 à 11h30

  • mram

    mram Admin

    Bonjour, oui n'oubliez pas qu'on compte à partir de zéro.

    le 22/11/2017 à 01h07

  • pauline.morganti

    pauline.morganti

    var result=var1.substr(12,21); alert(result); ne veux toujours pas je ne comprends pas

    le 19/11/2017 à 10h57

  • mram

    mram Admin

    Bonjour, le deuxième paramètre n'était pas correct.

    le 22/11/2017 à 00h53

  • pauline.morganti

    pauline.morganti

    var var1="Lorem ipsum dolor sit amet"; var result=var1.substr(11,11); alert(result); Il s'affiche bien mais me demande si j'ai bien utilisé la fonction

    le 13/11/2017 à 15h06

  • mram

    mram Admin

    Bonjour, la façon dont vous utilisez substr() dans vos premiers essais était la bonne. Seuls les nombres donnés en paramètre n'étaient pas corrects.

    le 16/11/2017 à 17h28

  • vladimir.mouilleron

    vladimir.mouilleron

    bonjour en regardant bien l ex vous vous rendrez compte qu il faut compter les espaces malin et tres facile a la fois

    le 17/10/2017 à 12h20

  • Stem

    Stem

    Pour info, pour que celà soit validé, il ne faut pas mettre d'espace de part et d'autre du signe égal, ni après la virgule entre les 2 nombres. C'est à dire "var result=var1.substr(XX,X);". La vérification ne devrait pas tenir compte des espacements.

    le 06/10/2017 à 02h29

  • mram

    mram Admin

    Bonjour, c'est prévu pour une prochaine mis à jour où ça provoquera un avertissement mais sans bloquer l'exercice donc il pourra être valider.

    le 09/10/2017 à 00h34

  • alexismoquet

    alexismoquet

    pourtant ca affiche bien ce qu'il faut avec çà : var var1='Lorem ipsum dolor sit amet;' var result = var1.substr(11,10); alert(result);

    le 04/09/2017 à 14h14

  • mram

    mram Admin

    Bonjour, les nombres utilisés dans substr() ne sont pas les bons.

    le 06/09/2017 à 11h26

  • alexismoquet

    alexismoquet

    bjr, je ne comprend pas mon erreur, faut-il compter les espaces ?

    le 04/09/2017 à 14h08

  • mram

    mram Admin

    Bonjour, et oui ils sont comptés comme caractères à part entière.

    le 06/09/2017 à 11h24

  • mram

    mram Admin

    Bonjour, attention le deuxième nombre correspond à la longueur du texte que vous souhaitez extraire. Et le premier nombre n'est pas le bon. Relisez l'exemple proposé.

    le 09/05/2017 à 01h43

  • danderhy3

    danderhy3

    Bonjour, pourriez vous m'aider je ne comprends pas mon erreur pourriez vous m'aider svp ?

    le 03/05/2017 à 15h23

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