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] 举报,一经查实,本站将立刻删除。