字符串主要用于編程,字符串在存儲上類似字符數(shù)組,所以它每一位的單個元素都是可以提取的。字符串或串(string)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···an”(n>=0)。它是編程語言中表示文本的數(shù)據(jù)類型。在程序設(shè)計中,字符串(string)為符號或數(shù)值的一個連續(xù)序列,如符號串(一串字符)或二進(jìn)制數(shù)字串(一串二進(jìn)制數(shù)字)。
本文講述用php以及js查詢字符串中子字符串所有出現(xiàn)位置
js中indexof()方法可返回某個指定的字符串值在字符串中首次出現(xiàn)的位置。運用第二個參數(shù),循環(huán)調(diào)用就能獲取到子串出現(xiàn)的所有位置。
/
* 查詢字符串中子字符串出現(xiàn)位置
* @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;//出現(xiàn)次數(shù)
console.log($_pos_substr); // [ 9, 16, 18, 37 ]
console.log($_times_substr); // 4同理,php中使用strpos()方法
/
* 查詢字符串中子字符串出現(xiàn)位置
* @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);//出現(xiàn)次數(shù)
print_r($_pos_substr); // array ( [0] => 9 [1] => 16 [2] => 18 [3] => 37 )
print_r($_times_substr); // 4