微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Perl split 用法

Perl中的一个非常有用的函数是split - 把字符串进行分割并把分割后的结果放入数组中。这个函数使用规则表达式(RE),如果未特定则工作在$_变量上。

split函数可以这样 使用:

$info = "Caine:Michael:Actor:14,Leafy Drive";
@personal = split(/:/,$info);

其结果是:
@personal = ("Caine","Michael","Actor","14,Leafy Drive");

如果我们已经把信息存放在$_变量中,那么可以这样:

@personal = split(/:/);

如果各个域被任何数量的冒号分隔,可以用RE代码进行分割:

$_ = "Capes:Geoff::Shot putter:::Big Avenue";
@personal = split(/:+/);

其 结果是

@personal = ("Capes","Geoff","Shot putter","Big Avenue");

但 是下面代码

$_ = "Capes:Geoff::Shot putter:::Big Avenue";
@personal = split(/:/);

的 结果是

@personal = ("Capes","","Big Avenue");
单词可以被分割成字符,句子可以被分割成单词,段落可以被分割成句子:

@chars = split(//,$word);
@words = split(/ /,$sentence);
@sentences = split(//./,$paragraph);

在第一句中,空字符串在每个字符间匹配,所以@chars数组是一个字符的数 组。>>

 

// 之间的部分表示split用到的正则表达式(或者说分隔法则)
/s 是一种通配符,代表空格
+ 代表重复一次或者一次以上。
所以, /s+ 代表一个或者一个以上的空格。

split (//s+/,$line) 表示把字符串$line,按空格为界分开。
比如说, $line = "你好 朋友 欢迎光临我的博客 61dh.com";
split (//s+/,$line)后得到:

你好 朋友 欢迎访问我的博客 61dh.com

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐