Si j'ai une chaîne Perl:
$str = "Hello";
comment puis-je obtenir un caractère à un index donné similaire à charAt (index)?
Si j'ai une chaîne Perl:
$str = "Hello";
comment puis-je obtenir un caractère à un index donné similaire à charAt (index)?
Utilisez substr
avec la longueur 1 comme dans:
$nth = substr($string, n-1, 1);
Recherchez également perlmonks pour d'autres solutions.
$char = substr( $mainstring, $i , 1 );
Est-ce une façon de le faire, probablement la plus claire.
Si ce que vous vouliez était la valeur numérique et que vous aviez l'intention de faire ces lots:
unpack("W*","hello")
Renvoie un tableau de valeurs Char:
print join ",", unpack("W*","hello") ;
# 104,101,108,108,111
Pour des trucs Unicode / Utf8 appropriés que vous voudrez peut-être utiliser
use utf8;
unpack("U*","hello\0ƀ\n")
# 104,101,108,108,111,0,384,10
Le corollaire des autres réponses substr () est que vous pouvez également l'utiliser pour définir des valeurs à un index. Il prend cela en charge comme lvalue ou avec des arguments supplémentaires. Il est également très similaire à l'épissure, qui est la même chose, mais pour les tableaux.
$string = "hello";
substr($string, 2, 2) = "this works?";
substr($string, 2, 2, "same thing basically");
@a = qw(s t r i n g s a n d t h i n g s);
@cut_out = splice(@a, 2, 2);
@cut_out = splice(@a, 2, 2, @replacement);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.