INSTRREV |
Dans la chaîne inversé |
|---|---|
| ASP 3.0 | |
Syntaxe
| Function InStrRev(s As String,t As String[,p As Integer[, Compare As VbCompareMethod]]) |
Paramètres
| Nom | Description | ||
|---|---|---|---|
| p | Ce paramètre permet d'indiquer la position en nombre de caractères de fin où commence la recherche | ||
| s | Ce paramètre permet d'indiquer la chaîne de caractères contenant la source dans lequel il faudra chercher | ||
| t | Ce paramètre permet d'indiquer la chaîne de caractères contenant la chaîne à rechercher | ||
| Compare | Ce paramètre permet d'indiquer la méthode comparaison : | ||
| Valeur | Constante | Description | |
| 0 | vbBinaryCompare | Cette valeur permet d'indiquer qu'il faut effectuer une comparaison binaire. C'est la valeur par défaut | |
| 1 | vbTextCompare | Cette valeur permet d'indiquer qu'il faut effectuer une comparaison texte. | |
Description
Cette fonction retourne la dernière position d'une sous-chaîne de caractères contenu dans une chaîne de caractères et 0 si elle ne s'y trouve pas.
Remarques
- La fonction InStrRev recherche une sous-chaîne à partir de la fin de la chaîne de caractères source, contrairement à la fonction InStr commençant la recherche au début. Cela peut être particulièrement utile lorsqu'on veut trouver la dernière occurrence d'une sous-chaîne de caractères dans un texte, comme pour extraire le dernier nom de domaine d'une URL. Cela optimise le processus lorsqu'une recherche à partir de la fin du texte est nécessaire.
- Le paramètre p permet de définir la position de départ de la recherche, en nombre de caractères, à partir de la fin de la chaîne. Cela donne un contrôle plus précis sur où commencer la recherche, et donc peut éviter de revenir à la toute fin si l'on ne souhaite pas analyser toute la chaîne de caractères. Ce paramètre est optionnel et si non spécifié, la recherche commence depuis la fin par défaut.
- Comme pour InStr, InStrRev accepte un paramètre Compare pour choisir entre une comparaison binaire (vbBinaryCompare) ou textuelle (vbTextCompare). Cela permet de personnaliser la recherche selon qu'on souhaite faire une recherche stricte basée sur les octets ou une recherche plus souple ignorant la casse. Cela est crucial dans des cas de recherche où les performances et la précision sont essentielles.
- L'utilisation de InStrRev est très pertinente pour des opérations telles que l'extraction du dernier élément d'une liste séparée par des délimiteurs (comme la dernière barre oblique dans un chemin de fichier ou le dernier «@» dans un courriel). Cela simplifie le processus en évitant d'avoir à inverser manuellement la chaîne de caractères ou à effectuer plusieurs itérations pour trouver la dernière occurrence. Cela rend le code plus lisible et efficace.
- Il est important de comprendre que InStrRev retourne la position de la première occurrence trouvée en remontant la chaîne de caractères, donc cette position est relative à la fin du texte. La valeur retournée est un indice basé sur la position de début de la recherche, et non pas un décalage absolu à partir du début de la chaîne de caractères. Cela peut entraîner une certaine confusion si l'on ne prend pas en compte ce comportement.
- Si la sous-chaîne n'est pas trouvée dans la chaîne source, InStrRev renverra la valeur 0, ce qui est très utile pour implémenter des tests conditionnels. Cela permet de vérifier facilement si une chaîne se termine par un certain motif ou si elle contient une sous-chaîne spécifique à partir de la fin. Il est important de toujours tester ce retour avant de continuer les manipulations de chaîne de caractères.
- L'optimisation des recherches avec InStrRev permet de minimiser le besoin d'itérations multiples ou d'algorithmes plus complexes dans des cas comme le traitement des journaux de bords ou des fichiers de texte longs. Cette fonction est donc particulièrement utile dans les applications nécessitant une recherche inversée rapide et simple, comme dans les outils de traitement de texte ou d'analyse de chaînes de caractères. Cela améliore la performance du code, surtout lorsque des traitements doivent être faits sur de grandes quantités de données.
- InStrRev peut être combinée efficacement avec des fonctions comme Mid ou Right pour extraire des parties spécifiques d'une chaîne à partir de la fin, ce qui est particulièrement utile dans des situations où la structure du texte est bien définie (par exemple, traitement de formats de fichiers). Ces combinaisons permettent de récupérer facilement des informations en fonction des dernières occurrences d'un motif particulier, rendant le traitement plus flexible et efficace. Cela simplifie le code en réduisant les étapes nécessaires pour manipuler des chaînes de caractères complexes.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
- <%
- Response.Write "InStrRev(""Sylvain Maltais"",""Mal"")= " & InStrRev("Sylvain Maltais","Mal") & "<br />"
- Response.Write "InStrRev(""Sylvain Maltais"",""a"") = " & InStrRev("Sylvain Maltais","a") & "<br />"
- Response.Write "InStrRev(""Sylvain Maltais"",""a"",1) = " & InStrRev("Sylvain Maltais","a",1) & "<br />"
- Response.Write "InStrRev(""Sylvain Maltais"",""a"",8) = " & InStrRev("Sylvain Maltais","a",8) & "<br />"
- %>
on obtiendra le résultat suivant :
InStrRev("Sylvain Maltais","Mal")= 9InStrRev("Sylvain Maltais","a") = 13
InStrRev("Sylvain Maltais","a",1) = 0
InStrRev("Sylvain Maltais","a",8) = 5
Voir également
Articles - Les géants de l'informatique - Microsoft
Dernière mise à jour : Vendredi, le 10 octobre 2014