Comment puis-je trouver la distance entre deux valeurs de sous-chaînes dans une chaîne donnée? Par exemple, si j'ai le mot formidable, et je voulais trouver la distance entre les "i" s (1 espace à part). Merci de votre aide.Distance entre deux sous-chaînes
0
A
Répondre
0
Il y a tellement d'options que vous pouvez gérer, mais c'est par où commencer.
1
$haystack = 'terrific';
$needle = 'i';
$distance = false;
$pos1 = strpos($haystack,$needle);
if ($pos1 !== false) {
$pos2 = strpos($haystack,$needle,$pos1+1);
if ($pos2 !== false) {
$distance = $pos2 - $pos1;
}
}
EDIT
ou
$haystack = 'terrific';
$needle = 'i';
$distance = false;
$needlePositions = array_keys(array_intersect(str_split($haystack),array($needle)));
if (count($needlePositions) > 1) {
$distance = $needlePositions[1] - $needlePositions[0];
}
+0
+1 OP devrait probablement changer '$ pos1 + 1' en' $ pos1 + strlen ($ needle) 'pour utiliser des aiguilles de plus d'un caractère. Doit également décrémenter '$ distance' comme' 6 - 4 = 2' et OP veut '1', c'est-à-dire, un caractère entre. – webbiedave
1
Voici quelques méthodes avec ligne commentaires:
// We take our string
$mystring = "terrific";
// Then the first character we want to look for
$mychar1 = "i";
$mychar2 = "i";
// Now we get the position of the first character
$position1 = strpos($mystring, $mychar1);
// Now we use the last optional parameter offset to get the next i
// We have to go one beyond the previous position for this to work
// Properly
$position2 = strpos($mystring, $mychar2, ($position1 + 1));
// Then we get the distance
echo "Distance is: " . ($position2 - $position1) . "\n";
// We can also use strrpos to find the distance between the first and last i
// if there are more than one
$mystring2 = "terrific sunshine";
$position2 = strrpos($mystring2, $mychar2);
echo "Distance is: " . ($position2 - $position1) . "\n";
Questions connexes
- 1. Distance entre deux points
- 2. Distance entre deux objets
- 3. Distance entre deux adresses
- 4. Distance entre deux geopints
- 5. Distance entre deux repères
- 6. Distance entre deux téléphones Android
- 7. Distance entre deux points géographiques?
- 8. Distance géodésique entre deux points
- 9. Distance sémantique entre deux mots
- 10. MKMapKit vraie distance entre deux annotations
- 11. Connexion à distance entre deux appareils android
- 12. Distance entre deux points dans Matlab
- 13. Distance entre deux lignes en 2D
- 14. Distance entre deux polygones convexes en 3D
- 15. Trouver la distance entre deux objets
- 16. Comment trouver la distance entre deux points?
- 17. Distance de nuages entre deux points
- 18. Modifier la distance entre deux graphiques
- 19. Distance entre deux villes en php
- 20. distance entre deux emplacements n'est pas correct?
- 21. Distance la plus courte entre deux lignes
- 22. Distance entre deux matrices Java OpenCV
- 23. obtenir la distance entre deux places
- 24. calculer la distance entre deux codes après
- 25. la distance entre deux points Android
- 26. manipuler la distance entre deux vecteurs
- 27. Android: Trouver la distance entre deux géopoints
- 28. Distance entre deux coordonnées avec CoreLocation
- 29. Mesurer la distance entre deux appareils iOS
- 30. Est-il possible de trouver la distance entre deux routeurs?
ont vous avez essayé quelque chose? –
Et s'il y a trois i dans la chaîne, voulez-vous le plus petit, le plus grand entre deux qui sont voisins, la diestance de la plus à gauche vers la plus droite? –