zoukankan      html  css  js  c++  java
  • 查询字符串中子字符串所有出现位置


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

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

    同理,PHP中使用strpos()

     1 /**
     2  * 查询字符串中子字符串出现位置
     3  * @param $str
     4  * @param $substr
     5  * @return array
     6  */
     7 function search_substr_pos($str, $substr)
     8 {
     9   $_search_pos = strpos($str, $substr);
    10   $_arr_positions = array();
    11   while ($_search_pos > -1) {
    12     $_arr_positions[] = $_search_pos;
    13     $_search_pos = strpos($str, $substr, $_search_pos + 1);
    14   }
    15   return $_arr_positions;
    16 }
    17 
    18 $str = "look at me,is there anything can prove that I am a good guy ?";
    19 $_pos_substr = search_substr_pos($str, 'e');//子串位置
    20 $_times_substr = count($_pos_substr);//出现次数
    21 
    22 print_r($_pos_substr);    //  Array ( [0] => 9 [1] => 16 [2] => 18 [3] => 37 )
    23 print_r($_times_substr);  //  4
     
  • 相关阅读:
    Hadoop 2.5.1集群安装配置
    Hadoop 2.5.1编译
    CloudStack安装
    Swift安装
    频率分布折线图与总体密度曲线
    频率直方图(hist)
    分位数(quantile)
    茎叶图(stem)
    盒图(boxplot)
    R语言学习
  • 原文地址:https://www.cnblogs.com/PHPcoder404/p/9928068.html
Copyright © 2011-2022 走看看