如何在Perl中获取给定索引处的字符?

Gde*_*lin 38 string perl

如果我有一个Perl字符串:

$str = "Hello";
Run Code Online (Sandbox Code Playgroud)

如何获得与charAt(index)类似的给定索引的字符?

dir*_*tly 43

使用substr长度1,如:

$nth = substr($string, n-1, 1);
Run Code Online (Sandbox Code Playgroud)

同时查找perlmonks以获取其他解决方案.


Ken*_*ric 22

$char = substr( $mainstring, $i , 1 );
Run Code Online (Sandbox Code Playgroud)

是一种方法,可能是最清楚的.

如果您想要的是数值,并且您打算这么做:

unpack("W*","hello")
Run Code Online (Sandbox Code Playgroud)

返回Char值的数组:

print join ",", unpack("W*","hello")  ; 
#  104,101,108,108,111
Run Code Online (Sandbox Code Playgroud)

对于您可能想要使用的正确Unicode/Utf8内容

use utf8;
unpack("U*","hello\0?\n") 
# 104,101,108,108,111,0,384,10
Run Code Online (Sandbox Code Playgroud)