Accueil > > > [VBSCRIPT] RECHERCHE D'UN CARACTÈRE OU D'UNE CHAINE DE CARACTÈRES DANS UNE PHRASE
[VBSCRIPT] RECHERCHE D'UN CARACTÈRE OU D'UNE CHAINE DE CARACTÈRES DANS UNE PHRASE
Information sur la source
Description
Cette demande de recherche étant récurrente sur ce Forum, je propose une solution pédagogique en VBS. Ce script s'adresse aux débutants. jean-marc
Source
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Recherche d'une chaine de caractère dans une phrase
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
- 'Instruction Option Explicit: Force la déclaration explicite de toutes les variables dans un script
- Option Explicit
-
- 'Instruction Const: Déclare des constantes destinées à remplacer des valeurs littérales
- Const Texte = "Recherche d'une chaine de caractère dans une phrase"
- Const sChaine = "che" 'chaine recherchée
-
- 'Instruction Dim: Déclare des variables et alloue l'espace de stockage
- Dim aPos() , iPos
- 'Instruction ReDim: Déclare les variables de tableau dynamique et attribue ou
- 'réattribue l'espace de stockage au niveau de la procédure
- 'Tableau où sont stockées les positions
- ReDim aPos(0)
-
- 'Fonction InStr: Renvoie la position de la première occurrence d'une chaîne
- 'à l'intérieur d'une autre
- iPos = InStr(1, Texte, sChaine)
-
- 'Instruction While...Wend: Exécute une série d'instructions tant qu'une condition donnée est True
- While iPos <> 0
- 'Fonction UBound: Renvoie le plus grand indice disponible pour la dimension indiquée d'un tableau
- ReDim Preserve aPos(UBound(aPos) + 1)
- aPos(UBound(aPos)) = iPos
- iPos = InStr(iPos + 1, Texte, sChaine)
- Wend
-
- 'Instruction If...Then...Else: Exécute un groupe d'instructions soumises à une condition,
- 'en fonction de la valeur d'une expression
- If UBound(aPos) > 0 Then
- Dim i , Resultat
- Resultat = "L'occurrence """ & sChaine & """ a été trouvée " & UBound(aPos) & " fois " &_
- "dans l'expression " &vbCrLf&vbCrLf& """" & Texte & """" &vbCrLf
-
- 'Instruction For...Next: Répète un groupe d'instructions un nombre spécifié de fois
- 'Fonction CStr: Renvoie une expression qui a été convertie en un Variant de sous-type String
- 'Fonction Len: Renvoie le nombre de caractères contenus dans une chaîne
- For i = 1 To UBound(aPos)
- Resultat = Resultat & vbCrLf & "Postion: " & CStr(aPos(i)) & "," & CStr(aPos(i)) + Len(sChaine)
- Next
-
- Else
-
- Resultat = "L'occurrence """ & sChaine & """ n'a pas été trouvée dans l'expression " &vbCrLf&vbCrLf&_
- """" & Texte & """"
- End If
-
- MsgBox Resultat
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Recherche d'une chaine de caractère dans une phrase
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Instruction Option Explicit: Force la déclaration explicite de toutes les variables dans un script
Option Explicit
'Instruction Const: Déclare des constantes destinées à remplacer des valeurs littérales
Const Texte = "Recherche d'une chaine de caractère dans une phrase"
Const sChaine = "che" 'chaine recherchée
'Instruction Dim: Déclare des variables et alloue l'espace de stockage
Dim aPos() , iPos
'Instruction ReDim: Déclare les variables de tableau dynamique et attribue ou
'réattribue l'espace de stockage au niveau de la procédure
'Tableau où sont stockées les positions
ReDim aPos(0)
'Fonction InStr: Renvoie la position de la première occurrence d'une chaîne
'à l'intérieur d'une autre
iPos = InStr(1, Texte, sChaine)
'Instruction While...Wend: Exécute une série d'instructions tant qu'une condition donnée est True
While iPos <> 0
'Fonction UBound: Renvoie le plus grand indice disponible pour la dimension indiquée d'un tableau
ReDim Preserve aPos(UBound(aPos) + 1)
aPos(UBound(aPos)) = iPos
iPos = InStr(iPos + 1, Texte, sChaine)
Wend
'Instruction If...Then...Else: Exécute un groupe d'instructions soumises à une condition,
'en fonction de la valeur d'une expression
If UBound(aPos) > 0 Then
Dim i , Resultat
Resultat = "L'occurrence """ & sChaine & """ a été trouvée " & UBound(aPos) & " fois " &_
"dans l'expression " &vbCrLf&vbCrLf& """" & Texte & """" &vbCrLf
'Instruction For...Next: Répète un groupe d'instructions un nombre spécifié de fois
'Fonction CStr: Renvoie une expression qui a été convertie en un Variant de sous-type String
'Fonction Len: Renvoie le nombre de caractères contenus dans une chaîne
For i = 1 To UBound(aPos)
Resultat = Resultat & vbCrLf & "Postion: " & CStr(aPos(i)) & "," & CStr(aPos(i)) + Len(sChaine)
Next
Else
Resultat = "L'occurrence """ & sChaine & """ n'a pas été trouvée dans l'expression " &vbCrLf&vbCrLf&_
"""" & Texte & """"
End If
MsgBox Resultat
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
--Recherche d'1 caractère ds une chaine de carac [ par ckoo ]
Je voudrais rechercher si il y a un "@" dans une chaine de caractère afin de vérifier la validité d'un champ de saisie de mail !merci d'avance
extraction depuis une chaine de texte en partant d1 caractère spécial [ par oni0013 ]
Salut,Je dispose d'une textbox et je voudrai extraire de cette dernière tout le texte qui va depuis le signe ";" jusqu'à la fin du texte.Je pense qu'i
Recherche dans une chaine de caractère en vba [ par hasen ]
Salut!Je voudrais savoir si qqun n'a pas sous la main un petit programme qui permettrais de récuperer les deux premiers chiffre d'un nombre.Merci d'av
Recherche d'une chaine de caractère dans page html [ par Chewba ]
Bonjour à tous,Je suis occupé à faire une application dans le style de la source : "http://www.vbfrance.com/code.aspx?ID=18579", qui va rechercher les
recherche en partant de la fin d'une chaine de caractère [ par xpwindaube ]
svp quelqu'un pourrait me dire comment faire pour faire une recherche en partant de la fin d'un texte ?enfaite je recherche un mot dans une richbox ma
extraction de caractères d'une chaine [ par hela_bouks ]
Salut,Si j'ai par exemple une chaine de caractère J2 et une chaine de caractère J15. Je ne voudrai garder que le 2 et le 15. Comment éliminer le J? Me
[VBS] Formater une chaine de caractère [ par remifalcon ]
Bonjour !, Je souhaiterai supprimer tout ce que se trouve après la première virgule d'une chaine enVBS Ex: CN=Groupe2,CN=Users,DC=cbtest,DC=priv
Recherche programme pour renommer des fichiers avec une chaine de caractère contenue dedans [ par psicad ]
Bonjour,Je précise que je suis complètement débutant et que j'ai déjà dans l'urgence à réaliser un programme très simple, Il s'agit de:Ouvrir tous les
Extraction chiffre d'une chaine de caractère régulière [ par ptitemeuh ]
Bonjour à tous, En fait, j'ai une liste telle que, par exemple: 10 - Muguet 10/05/2010 9 - Muguet 09/05/2010 8 - Muguet 08/05/2010 7 - Muguet 07/05/
incrémenter une chaine de caractère [ par POWERSFAX ]
s.v.p quelqu'un peut m'aide a faire sa: j' ai une chaine de caractère de ce type a40b40c40d30e30f30g je veut incrémenter les nombre de cette chaine
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en ½uvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|