Perl6,如何删除字符串中的最后一个字符?

时间:2018-04-28 09:15:41

标签: perl6

在Perl6中,如何从字符串中删除最后一个字符?

3 个答案:

答案 0 :(得分:6)

关于如何删除字符串的最后一个字母的mq.connection.name.list=localhost(1414) 笔记:

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> 表示在字符串末尾匹配

答案 1 :(得分:4)

您可以使用substr

来实现这一目标
$ perl6 -e 'my $a := "abcde"; say $a.substr(0, *-1)'
abcd

答案 2 :(得分:1)

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<