Perl6, как убрать последний символ в строке? - PullRequest
0 голосов
/ 28 апреля 2018

Как в Perl6 удалить последний символ из строки?

Ответы [ 3 ]

0 голосов
/ 28 апреля 2018

Вот способ, которым вы можете сделать это с substr:

$ perl6 -e 'my $a := "abcde"; say $a.substr(0, *-1)'
abcd
0 голосов
/ 29 апреля 2018

chop заберет последний символ из строки, однако иногда вы хотите удалить терминатор строки, чтобы вы предпочли использовать chomp:

my @s = "hello world", "hello world\n", "hello world\r", "hello world\r\n" ;
my $ct = 0 ;
for @s -> $str {
    say "run ", $ct++ ;
    my $s1 =$str ;
    my $s2 =$str ;
    say "orig >",$str,"<" ;
    say "chop >",$s1.chop,"<" ;
    say "chomp >",$s2.chomp,"<" ;
}

Выход:

$ ./run.p6 
run 0
orig >hello world<
chop >hello worl<
chomp >hello world<
run 1
orig >hello world
<
chop >hello world<
chomp >hello world<
run 2
<rig >hello world
chop >hello world<
chomp >hello world<
run 3
orig >hello world
<
chop >hello world<
chomp >hello world<
0 голосов
/ 28 апреля 2018

Мои Perl6 заметки о том, как удалить последнюю букву строки:

$ perl6 -e 'my $x="a b c d "; $x = chop( $x ); say "<$x>";'
<a b c d>

 $ perl6 -e 'my $x="a b c d "; $x ~~ s/" "$//; say "<$x>";'
<a b c d>

Примечание $ означает совпадение в конце строки

...