这篇文章将为大家详细讲解有关PHP、JS查询字符串中子字符串所有出现位置的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
JS中indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。运用第二个参数,循环调用就能获取到子串出现的所有位置。
/** * 查询字符串中子字符串出现位置 * @param str * @param substr * @return {Array} */ function search_substr_pos(str, substr) { var _search_pos = str.indexOf(substr), _arr_positions = []; while (_search_pos > -1) { _arr_positions.push(_search_pos); _search_pos = str.indexOf(substr, _search_pos + 1); } return _arr_positions; } var str = "look at me,is there anything can prove that I am a good guy ?"; var $_pos_substr = search_substr_pos(str, 'e');//子串位置 var $_times_substr = $_pos_substr.length;//出现次数 console.log($_pos_substr); // [ 9, 16, 18, 37 ] console.log($_times_substr); // 4
相关教程:JS视频教程
同理,PHP中使用strpos()方法
/** * 查询字符串中子字符串出现位置 * @param $str * @param $substr * @return array */ function search_substr_pos($str, $substr) { $_search_pos = strpos($str, $substr); $_arr_positions = array(); while ($_search_pos > -1) { $_arr_positions[] = $_search_pos; $_search_pos = strpos($str, $substr, $_search_pos + 1); } return $_arr_positions; } $str = "look at me,is there anything can prove that I am a good guy ?"; $_pos_substr = search_substr_pos($str, 'e');//子串位置 $_times_substr = count($_pos_substr);//出现次数 print_r($_pos_substr); // Array ( [0] => 9 [1] => 16 [2] => 18 [3] => 37 ) print_r($_times_substr); // 4
关于PHP、JS查询字符串中子字符串所有出现位置的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。