当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

15.3.3根据正则表达式分割字符串的函数

9/17/2020 9:26:54 PM 人评论

15.3.3根据正则表达式分割字符串的函数

15.3.3 根据正则表达式分割字符串的函数

函数split()通过匹配正则表达式作为分割符,将字符串分割出各个字串,存入数组中。该函数的语法如下所示。


array split(string$pattern,string$string[,int$limit])


该函数的返回值是一个数组,其每个单元都是参数$string经正则表达式$pattern作为分割符分出的字串。该函数第3个参数是可选参数,如果指定了参数$limit,则返回数组最多包含limit个单元,其中最后一个单元包含参数字符串$string剩余的所有部分。如果执行出现错误,函数split()返回FALSE。代码15-5演示了该函数的用法。

代码15-5 在程序中使用函数split()15-5.php


01 <?php

02 $str="aaa~bbb~ccc~ddd";//定义字符串变量

03 echo"字符串截取前:$str";

04 echo"<br/>";

05 echo"<br/>";

06

07 $sep_arr=split("~",$str);//分割字符串变量$str

08 echo"<b>字符串截取后:</b><br/>";

09 echo"<pre>";

10

11 print_r($sep_arr);

12 ?>


【代码解析】这段代码第7行使用函数split()按符号~分割字符串参数$str,这里的“~”实际是一个正则表达式,split按其模式来分割字符串参数$str,并将分割后的字符串存入数组返回。代码15-5的执行结果如图15-5所示。

图 15-5 在程序中使用函数split()

代码15-5在调用函数split()时用正则表达式并不明显,下面的示例代码15-6更能体现正则表达式在函数split()中的使用。

代码15-6 函数split()的使用15-6.php


01 $str="AAAaaaA~BbbbC~DcccE~FdddZZZ";//定义字符串变量

02 echo"<b>字符串截取前:</b><br/>$str";

03 echo"<br/>";

04 echo"<br/>";

05

06 $sep_arr=split("[a-z]{3}",$str);//分割字符串

07 echo"<b>使用aaa,bbb,ccc,ddd做分割字符串后:</b>";

08 echo"<pre>";

09

10 print_r($sep_arr);

11 ?>


【代码解析】在代码15-6中,传入函数split()作为分割符的是一个正则表达式:[a-z]{3},这是一个比较简单的正则表达式,它可以匹配任意3个小写字母。在即将被分割的字符串AAAaaaA~BbbbC~DcccE~FdddZZZ,该模式可以匹配aaa、bbb、ccc和ddd,所以原字符串通过函数split()按正则表达式[a-z]{3}所匹配的字符,被分割成5个部分:AAA、A~B、C~D、E~F和ZZZ。这段代码的执行结果如图15-6所示。

图 15-6 在函数split()中使用正则表达式

相关教程

共有条评论 网友评论

验证码: 看不清楚?