Maison  >  Article  >  développement back-end  >  Comment interroger toutes les occurrences de sous-chaînes dans une chaîne en utilisant PHP et JS

Comment interroger toutes les occurrences de sous-chaînes dans une chaîne en utilisant PHP et JS

little bottle
little bottleavant
2019-04-23 14:30:423487parcourir

Cet article parle principalement de l'utilisation de PHP et js pour interroger toutes les positions d'occurrence des sous-chaînes dans les chaînes. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La méthode indexOf() dans JS peut renvoyer la position où une valeur de chaîne spécifiée apparaît pour la première fois dans la chaîne. En utilisant le deuxième paramètre, l'appel de boucle peut obtenir toutes les positions où la sous-chaîne apparaît.

/**
   * 查询字符串中子字符串出现位置
   * @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

Tutoriels associés : Tutoriel vidéo JS

De même, utilisez la méthode strpos() en PHP

/**
 * 查询字符串中子字符串出现位置
 * @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

Tutoriels associés : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer