[Script Visual Basic] Recherches de strings basiques

Recherches de strings basiques [Script Visual Basic] - VB/VBA/VBS - Programmation

Marsh Posté le 24-08-2003 à 04:01:38    

Bonjour,
 
J'aimerais réaliser un petit script visual basic afin d'afficher des informations météorologiques sur mon bureau via le logiciel Samurize.
 
Malheureusement, je ne m'y connais pas en VBS, et j'aurais besoin en gros de savoir la syntaxe de 2 commandes précises dont je vais tenter d'expliquer l'effet que j'espère obtenir.
 
Supposons que ma variable 'html' désigne une chaine de caractères 'xxxxxxxxxxxxxxA1BxxxxA2Bxxxxxxxxxxxxxx'.
Soit 'xxxxx' du bruit, 'A' & 'B' des strings remarquables et '1' et '2' ce qui m'intéresse.
 
Je désire extraire les 2 strings '1' et '2' en sachant qu'ils se situent, dans 'html', entre les strings 'A' et 'B' (aucune occurrence possible de 'A' ou de 'B' dans le bruit).
 
Avec quelle commandes procéderiez-vous ?
On pourrait décomposer ça en 2 commandes :
- une commande de recherche de sous-chaine délimitée par les 2 bornes autour (commencer par trouver '1' en trouvant la 1ère occurrence de 'A' et en cherchant les caractères juste après A jusqu'au début de 'B');
- une fonction pour tronquer la sous-chaîne de tout ce qu'on a déjà parcouru ('xxxxxxxxxxxxxxA1B 'dans l'exemple après avoir trouvé '1') et on recommence avec la commande au dessus.
 
Me suis-je bien fait comprendre ? :pt1cable:
 
Si oui, merci d'avance ! :hello:
 
Si non, dîtes-moi où vous avez décroché et j'essaierai d'être plus clair :)

Reply

Marsh Posté le 24-08-2003 à 04:01:38   

Reply

Marsh Posté le 24-08-2003 à 17:52:40    

:bounce:

Reply

Marsh Posté le 24-08-2003 à 19:49:41    

Code :
  1. Option Explicit
  2. Dim String, oRegex, oMatches, oMatch, StringA, StringB
  3. String = "xxxxxxxxxxxxxxA1BxxxxA2Bxxxxxxxxxxxxxx"
  4. StringA = "A"
  5. StringB = "B"
  6. Set oRegex = New RegExp
  7. With oRegex
  8. .IgnoreCase = True
  9. .Pattern = StringA & "(.*?)" & StringB
  10. .Global = True
  11. Set oMatches = .Execute(String)
  12. End With
  13. For Each oMatch In oMatches
  14. Response.Write Mid(oMatch.Value, Len(StringA) + 1, Len(oMatch.Value) - (Len(StringA) + Len(StringB))) & "<br>"
  15. Next
  16. Set oMatches = Nothing
  17. Set oRegex = Nothing


En faisant gaffe à pas mettre de caracteres speciaux dans StringA ou StringB :)


Message édité par zozoll le 24-08-2003 à 19:50:41
Reply

Marsh Posté le 24-08-2003 à 20:07:28    

Merci :hello:  
 
Et si je veux le mettre dans une fonction :

Code :
  1. Function extract(String,StringA,StringB) ?


qui retourne la sous-chaîne inclue entre la 1ère occurrence de StringA et la 1ère occurrence de StringB suivante, faut que je modifie quoi ?
 
Je peux virer

Code :
  1. dim String, StringA, StringB


ainsi que

Code :
  1. String = "xxxxxxxxxxxxxxA1BxxxxA2Bxxxxxxxxxxxxxx"
  2. StringA = "A"
  3. StringB = "B"


 
Là je vois que ça me retourne plusieurs réponses dans oMatches, mais je vois pas comment les utiliser, où elles sont stockées :sweat:
Response c'est un tableau ? :??:  
 
En fait si vous avez un bon tutorial de script visual basic à me conseiller pour que je comprenne le code du post ci-dessus... [:youpi]
 
Parce que continuer à tâtonner ça m'énerve, tant que je comprendrai pas j'avancerai pas :)

Reply

Marsh Posté le 25-08-2003 à 00:11:43    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed