perl中数组函数详解:join和split…
2013-01-14 14:19
274 查看
在perl中,join()和split()的功能是相反的。
一.join函数
1.作用:把数组元素或者几个字符串通过分隔符连接成单个字符串
2.格式:join(DELIMITER,ARRAY或string[1,2,3...])
3.实例:#join
$name="Tom";
$birth="01/02/86";
$addr="chengdu.sichuan";
$info=join(":",$name,$birth,$addr);
print "1.$info"."\n";
@list=("Tom","Joe","Tonny","chris");
@array=join("\n",@list);
$str=join("-",@list);
print "2.$str\n";
print "3.@array";
4.结果:
1.Tom:01/02/86:chengdu.sichuan
2.Tom-Joe-Tonny-chris
3.Tom
Joe
Tonny
chris
二、split函数
1.作用:与上面的join函数功能恰好相反,是通过指定的分隔符把字符串分割成一个一个的字段,形成一个数组返回
2.格式:split(DELIMITER,STRING);
split(DELIMITER,STRING,LIMIT);
split(DELIMITER);
3.1.实例:#split(DELIMITER,STRING);
$char="a/b/c/d/e/f";
@letters=split("/",$char);
print "1.@letters\n";
3.2.输出结果:
1.a b c d e f
4.1实例:#split(DELIMITER);
while(<DATA>){
@ch=split(":");
print "$ch[1]\n";
}
__DATA__
a:2:3:5
2:s:f:s
e:r:t:y
4.2输出结果:
2
s
r
5.1实例:#split(DELIMITER,STRING,LIMIT);
$string="Tom Joe Tonny
chris";
@names=split("
",$string,2);
print "1.$names[0]\n";
print "2.$names[1]\n";
print "3.$names[2]\n";
5.2输出结果:
1.Tom
2.Joe Tonny chris
3.
6总结:
(1)在第三种格式中,LIMIT是用来指定需要拆分的字段数目。若LIMIT的值小雨STRING中的字段数,则拆分后最后一个数组元素将包含所以剩余的。
(2)在第二种格式中,使用的变量其实是默认的$_
splice
splice函数有三个作用。第一个作用是向数组中间的一部分插入内容。例如:
@d=(1..9);
my
@e=("a".."f");
splice(@d,2,2,@e);
#目标数组, 插入起始位置,
覆盖长度, 插入数组
将会得到12abcdef56789,注意这里是从第二个开始插入,不是从下标为2的元素开始插入的。
splice的第二个功能是删除,例如在刚才的代码上面再加上:
splice(@d,2,6);
#目标数组,
起始位置,删除长度
将可以得到1256789;
splice的第三个功能就是删除到末尾。语法为:
splice(@d,2);
就是从第二个开始,删除到末尾。
我们还应该有一个可以把整个数组合并成一个标量的函数。这个函数就是join,join有两个参数,第一个参数是合并时放在元素之间的分割符,第二个是进行操作的数组。
例如:
my
@g=(1,2,3);
join(" ",@g);
将可以得到“1 2
3”.
undef(@a);
# 作用是把@a的内容清空。
chop(@a);
#作用是把数组内每个元素的末尾去一个字符。
chomp(@a);
#作用则是把数组内的每一个元素的末尾的换行符去掉。
一.join函数
1.作用:把数组元素或者几个字符串通过分隔符连接成单个字符串
2.格式:join(DELIMITER,ARRAY或string[1,2,3...])
3.实例:#join
$name="Tom";
$birth="01/02/86";
$addr="chengdu.sichuan";
$info=join(":",$name,$birth,$addr);
print "1.$info"."\n";
@list=("Tom","Joe","Tonny","chris");
@array=join("\n",@list);
$str=join("-",@list);
print "2.$str\n";
print "3.@array";
4.结果:
1.Tom:01/02/86:chengdu.sichuan
2.Tom-Joe-Tonny-chris
3.Tom
Joe
Tonny
chris
二、split函数
1.作用:与上面的join函数功能恰好相反,是通过指定的分隔符把字符串分割成一个一个的字段,形成一个数组返回
2.格式:split(DELIMITER,STRING);
split(DELIMITER,STRING,LIMIT);
split(DELIMITER);
3.1.实例:#split(DELIMITER,STRING);
$char="a/b/c/d/e/f";
@letters=split("/",$char);
print "1.@letters\n";
3.2.输出结果:
1.a b c d e f
4.1实例:#split(DELIMITER);
while(<DATA>){
@ch=split(":");
print "$ch[1]\n";
}
__DATA__
a:2:3:5
2:s:f:s
e:r:t:y
4.2输出结果:
2
s
r
5.1实例:#split(DELIMITER,STRING,LIMIT);
$string="Tom Joe Tonny
chris";
@names=split("
",$string,2);
print "1.$names[0]\n";
print "2.$names[1]\n";
print "3.$names[2]\n";
5.2输出结果:
1.Tom
2.Joe Tonny chris
3.
6总结:
(1)在第三种格式中,LIMIT是用来指定需要拆分的字段数目。若LIMIT的值小雨STRING中的字段数,则拆分后最后一个数组元素将包含所以剩余的。
(2)在第二种格式中,使用的变量其实是默认的$_
splice
splice函数有三个作用。第一个作用是向数组中间的一部分插入内容。例如:
@d=(1..9);
my
@e=("a".."f");
splice(@d,2,2,@e);
#目标数组, 插入起始位置,
覆盖长度, 插入数组
将会得到12abcdef56789,注意这里是从第二个开始插入,不是从下标为2的元素开始插入的。
splice的第二个功能是删除,例如在刚才的代码上面再加上:
splice(@d,2,6);
#目标数组,
起始位置,删除长度
将可以得到1256789;
splice的第三个功能就是删除到末尾。语法为:
splice(@d,2);
就是从第二个开始,删除到末尾。
我们还应该有一个可以把整个数组合并成一个标量的函数。这个函数就是join,join有两个参数,第一个参数是合并时放在元素之间的分割符,第二个是进行操作的数组。
例如:
my
@g=(1,2,3);
join(" ",@g);
将可以得到“1 2
3”.
undef(@a);
# 作用是把@a的内容清空。
chop(@a);
#作用是把数组内每个元素的末尾去一个字符。
chomp(@a);
#作用则是把数组内的每一个元素的末尾的换行符去掉。
相关文章推荐
- perl中数组函数详解三:join和split
- perl中数组函数详解:join和split和splice
- JavaScript中push(),join() 函数 实例详解
- php之XML转数组函数的详解
- PHP数组排序函数array_multisort()函数详解(一)
- 多线程编程实例---pthread_join函数详解1
- perl函数中传递数组的方法
- 详解Python中的join()函数的用法
- 详解C++编程中用数组名作函数参数的方法
- PHP数组排序函数array_multisort()函数详解(二)
- Perl函数参数中传递数组和引用的使用
- php 数组处理函数extract详解及实例代码
- 详解Python中的join()函数的用法
- C++基础积累(2)指针与数组、指针与函数关系详解
- PHP数组排序函数array_multisort()函数详解
- Query数组($.each,$.grep,$.map,$.merge,$.inArray,$.unique,$.makeArray)处理函数详解
- 详解Python中的join()函数的用法(字符串和os.path)
- PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数详解
- perl 函数参数中传递数组和引用的一些问题
- linux pthread_join函数详解