日期:2014-05-17 浏览次数:20766 次
在编程中经常与遇到将一个字符串根据某个字符切分的问题。
function getsubstr($str,$dec,$index){//获取str中第index个分隔符dec到第index+1个分隔符之间的字串 $index+=1; $a = '/^([^'.$dec.']*'.$dec.'){'.$index.'}/'; $match = Array(); preg_match($a,$str,$match); if(isset($match[1])) return rtrim($match[1]); return ''; }?
具体原理就不解释了,大家都看的明白的。
?
此外另外的两种方法分别是explode截取出字符串数组,然后取值;以及循环遍历字符串,找到对应的两个分隔符的位置然后截取字符串。
?
经过测试得到:
?
10w行记录处理时间:
??? 本文方法?? : 1.3521399497986
??? explode ?? : 1.4456930160522
??? 循环遍历?? : 1.4808049201965
?
测试结果显示,10W行记录处理时间最多相差0.1秒。
?
不知还有什么其他方法?