在编程中经常与遇到将一个字符串根据某个字符切分的问题。
一般我们会用explode将字符串切分成一个数组,然后进行进一步的操作。
但假如有一个需求是要截取一个字符串中某两个相邻的分割字符中间的字串,那么用explode就显得有点浪费了。
毕竟很多其他的被截取出来的字串用不到阿。浪费了空间也浪费了计算。
今天发现了一个方法,就是用preg_match。(如有雷同,实属缘分)
具体方法是这样的:
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秒。
不知还有什么其他方法?
相关推荐
一个php截取指定字符串之间的字符串的类,介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用。
php通用截取字符串
PHP中如何截取中文字符串
字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 有时我们想截取最后一个斜杠’/’后面的数字; 有时我们又需要截取第一个斜杠’/’前面的内容判断用户输入的url链接带不带http://等等; 字符...
php不破坏单词截取子字符串类,可以在不破坏单词的情况下截取字符串,非常的方便。
PHP截取字符串,生成文章摘要,非常好用的代码,一看就会用,节省你大量开发时间!
php不破坏单词截取子字符串类,可以在不破坏单词的情况下截取字符串,非常的方便。
一个php截取指定字符串之间的字符串的类
<?... class get_c_str { var $str; ... var $start_str;... $this->start_pos = strpos($this->str, $this->start_str) strlen($this->start_str);...}这是一个php截取字符串的类,需要的朋友可以下载使用。
php截取字符串[文].pdf
PHP 截取字符串后四位.rar
php截取字符串函数的方法_.docx
在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作。遇到这些需求时,我们经常会想到使用substr()方法来实现,substr()对全英文...
介绍一个php截取指定字符串之间的字符串的类,需要的朋友可以自行下载学习使用,如果朋友们有更好的类可以上传与我们分享。
php 截取包含中文的字符串
PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数。 复制代码 代码如下: /** * 方法库-截取字符串-【该函数作者未知】 * @param string $...
截取字符串 <?php $string=”2006年4月我又长大了一岁!”; echo substr($string,1).”…”; //截取字符串 function SubstrGB($in,$num) { $pos=0; $out=””; while($pos $c=substr($in,$pos,1); xss=...
为大家分享了最准确的php截取字符串长度函数,最精确的截取长度,大家可以在此基础上进行改进,感兴趣的小伙伴们可以参考一下
NULL 博文链接:https://onestopweb.iteye.com/blog/2328758
php字符串截取.pdf