Perl ( chaine de caractères )

Résolu
Bonjour

J'ai besoin extraire le dernier chiffre d'une chaine de caractères sans connaitre la longueur de cette chaine , et tout cela dans le langage Perl
Merci d'avance pour votre aide
Configuration: Windows 2000
Internet Explorer 5.5

3 réponses

  1. Modérateur
    Salut,

    il suffit d'utiliser la fonction substr avec un indice négatif.

    $B=substr($A,-1)
    0
    1. Je passe par ici par hasard,

      pour prendre le dernier caractère e manière élégante,

      my $v="un truc";
      print chop($v);

      affichera sur la sortie

      c

      voir aussi chomp
      0
    2. Modérateur
      @depassageSalut,

      J'ai besoin extraire le dernier chiffre d'une chaine de caractères

      Il ne demande pas le dernier caractère de la chaine mais le dernier chiffre dans une chaîne qui n'est pas forcément le dernier caractère de la chaîne ;-).

      La fonction chop va envoyer le dernier caractère mais il faudra aussi tester si ce caractère est un chiffre.
      La fonction chomp est utile pour effacer le saute de ligne.
      0
  2. Super franchement on peut chercher des heures pour pas grand chose encore merci
    0
    1. Modérateur
      Salut,

      extraire le dernier chiffre d'une chaine de caractères

      Si la chaine est : "j'ai écrit 5 script perl" alors avec la solution de blux de retourne l et pas 5

      Voilà une solution plus générique
      $chaine = "j'ai écrit 5 script perl";
      ($res)=$chaine=~/(\d)\D*$/;
      --
      lami20j
      0
      1. Modérateur
        Bien vu, j'ai mal lu l'énoncé ! :-)
        0
      2. Modérateur
        @bluxSalut,

        je pense que c'est la question qui a été mal posée vu que ta réponse est satisfaisante :-))
        ce qui n'empêche pas d'avoir plusieurs solutions en Perl :-))
        0