begin process at 2012 02 17 02:51:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBScript

 > [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

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VBScript Classé sous :vbs, recherche, extraction, chaine, caractère Niveau :Débutant Date de création :29/04/2006 Vu :25 530

Auteur : JMO

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 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

GESTION DES HEURES DE NUIT (22H-0H) - CALCUL DE DATES
INVENTAIRE FICHIERS SUR SERVER DISTANT OU LOCAL
EVENTVIEWER - NTLOGEVENT - EXTRACTION INFORMATIONS DU JOURNA...
[VBSCRIPT] LISTE DES FICHIERS, D'UN RÉPERTOIRE, TRIÉS PAR DA...
Source avec Zip EXEMPLES DE PROCÉDURES VBSCRIPT

 Sources de la même categorie

Source avec Zip Source avec une capture RECHERCHE & SAUVEGARDE DES FICHIERS PAR LEURS EXTENSIONS par hackoo
Source avec Zip Source avec une capture [VBS] SPLASH SCREEN EN VBSCRIPT par hackoo
Source avec Zip Source avec une capture [VBS] GOOGLE EASTER EGGS par hackoo
Source avec Zip Source avec une capture FILE2COMPARE: COMPARAISON DE DEUX FICHIERS LIGNE PAR LIGNE par hackoo
Source avec Zip Source avec une capture [VBS] COMMENT CRÉER UN DOSSIER ET LE PROTÉGER PAR MOT DE PAS... par hackoo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTAGE ET DÉCRYPAGE D'UNE CHAÎNE DE CARACTÈRES par johann36
Source avec Zip TRAFIC CHAINE par Helga
Source avec Zip Source avec une capture Source .NET (Dotnet) RECHERCHE DE CHAÎNES DANS UN FICHIER TEXTE par chewbaka62
Source avec Zip Source avec une capture RECHERCHE D'UNE CHAINE DANS UNE AUTRE + GESTION D'ERREUR + C... par ABF
SUPPRESSION DE CARACTÈRES DANS UN STRING par Jean_Elens

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales