Perl-split and join

[b][size=large][align=center]Perl-split and join[/align][/size][/b]

[b]split[/b]

split /PATTERN/,EXPR,LIMIT
split /PATTERN/,EXPR

1.split,它会根据分隔符拆开一个字符串。这对处理被制表符、冒号、空白或任意符号分割的数据相当有用。

@fields = split /:/, "abc:def:g:h"; #得到("abc","def","g","h")

2.如果两个分隔符连在一起,就会产生空字段:
@fields = split /:/, "abc:def::g:h"; #得到("abc","def","","g","h")


3.这里有个规则,它乍看之下很古怪,但很少造成问题:split会保留开头处的空字段,并省略结尾处的字符段。

@fields = split /:/, ":::abc:def::g:h:::"; #得到("","","","abc","def","","g","h")

4.利用/\s+/模式进行空白分隔符也是常见的做法,在此模式下,所有的空白会被当成一个空格来处理。

my $some_input = "This is a\t test.\n";
my @args= split /\s+/,$some_input;
#得到("This","is","a","test")

split默认以空格符分隔$_
my @fields = split; #等效于 split /\s+\, $_;

[b]join[/b]

join函数不会使用模式,它的功能与split相反,split会将字符串分解为数个片段,而join则会把这些片段合成一个字符串,它的用法如下:

my $result = join $glue, @pieces

可以把第一个参数理解为胶水,他可以是任意的字符串。其余参数则是一串片段。join会把胶水涂在每一个片段之间,并返回结果字符串。

my $x = join ":", 4,5,6,7,8,9;#$x为"4:5:6:7:8:9"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值