www.adminn.cn
站长正能量分享网!

PHP、JS怎样查询字符串中子字符串所有出现位置

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

本篇文章主要讲述的是用PHP以及js查询字符串中子字符串所有出现位置,具有一定的参考价值,有需要的朋友可以参考一下。

JS中indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。运用第二个参数,循环调用就能获取到子串出现的所有位置。

  1. /** 
  2.  
  3.    * 查询字符串中子字符串出现位置 
  4.  
  5.    * @param str 
  6.  
  7.    * @param substr 
  8.  
  9.    * @return {Array} 
  10.  
  11.    */ 
  12.  
  13.   function search_substr_pos(str, substr) { 
  14.  
  15.     var _search_pos = str.indexOf(substr), _arr_positions = []; 
  16.  
  17.     while (_search_pos > -1) { 
  18.  
  19.       _arr_positions.push(_search_pos); 
  20.  
  21.       _search_pos = str.indexOf(substr, _search_pos + 1); 
  22.  
  23.     } 
  24.  
  25.     return _arr_positions; 
  26.  
  27.   } 
  28.  
  29.   
  30.  
  31.   var str = "look at me,is there anything can prove that I am a good guy ?"
  32.  
  33.   var $_pos_substr = search_substr_pos(str, 'e');//子串位置 
  34.  
  35.   var $_times_substr = $_pos_substr.length;//出现次数 
  36.  
  37.   
  38.  
  39.   console.log($_pos_substr);    //  [ 9, 16, 18, 37 ] 
  40.  
  41.   console.log($_times_substr);  //  4 

同理,PHP中使用strpos()方法

  1. /** 
  2.  
  3.  * 查询字符串中子字符串出现位置 
  4.  
  5.  * @param $str 
  6.  
  7.  * @param $substr 
  8.  
  9.  * @return array 
  10.  
  11.  */ 
  12.  
  13. function search_substr_pos($str$substr
  14.  
  15.  
  16.   $_search_pos = strpos($str$substr); 
  17.  
  18.   $_arr_positions = array(); 
  19.  
  20.   while ($_search_pos > -1) { 
  21.  
  22.     $_arr_positions[] = $_search_pos
  23.  
  24.     $_search_pos = strpos($str$substr$_search_pos + 1); 
  25.  
  26.   } 
  27.  
  28.   return $_arr_positions
  29.  
  30.  
  31.   
  32.  
  33. $str = "look at me,is there anything can prove that I am a good guy ?"
  34.  
  35. $_pos_substr = search_substr_pos($str'e');//子串位置 
  36.  
  37. $_times_substr = count($_pos_substr);//出现次数 
  38.  
  39.   
  40.  
  41. print_r($_pos_substr);    //  Array ( [0] => 9 [1] => 16 [2] => 18 [3] => 37 ) 
  42.  
  43. print_r($_times_substr);  //  4 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP、JS怎样查询字符串中子字符串所有出现位置》
文章链接:https://www.adminn.cn/news/7798.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏