Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraire du texte

2 réponses
Avatar
Jacques
Bonjour,

Comment extraire du texte d'une chaine de caractère ??

Par exemple :

...
title="Mon Titre" href="MonRepertoire/blabla">

Dans ce cas comment récupérer Mon Titre ?

Merci de vos réponses

Jacques

2 réponses

Avatar
bahn po
Il se trouve que Jacques a formulé :
Bonjour,

Comment extraire du texte d'une chaine de caractère ??

Par exemple :

...
title="Mon Titre" href="MonRepertoire/blabla">

Dans ce cas comment récupérer Mon Titre ?

Merci de vos réponses

Jacques



Comme tu connais un élément qui ne change jamais, qui est title= et que
la chaîne de caractère à récupérer est délimitée par " ( qui est
chr(34) ) tu pourrais utiliser l'instruction instr (qui doit vouloir
dire IN STRING)

Une fois trouvée title=, tu te mets à chercher chr(34), deux fois, pour
connaitre le début et la fin, pourquoi pas avec encore INSTR.

Tu peux ensuite extraire le résultat avec mid.

INSTR te renvoi un nombre qui donne le position de l'occurrence
trouvée.

L'aide dans VB6 est celle-ci :

InStr, fonction


Renvoie une valeur de type Variant (Long) indiquant la position de la
première occurrence d'une chaîne à l'intérieur d'une autre chaîne.

Syntaxe

InStr([start, ]string1, string2[, compare])

La syntaxe de la fonction InStr comprend lesarguments suivants :

Élément Description
start Facultatif.Expression numérique qui définit la position de départ
de chaque recherche. Si cet argument est omis, la recherche commence au
premier caractère. Si l'argument start contient une valeur de typeNull,
une erreur se produit. L'argument start est obligatoire si l'argument
compare est indiqué.
string1 Expression de chaîne dans laquelle la recherche est effectuée.
string2 Expression de chaîne recherchée.
compare Facultatif. Indique le type decomparaison de chaînes. Si
l'argument compare est de type Null, une erreur se produit. Si
l'argument compare est omis, la valeur de l'instruction Option Compare
détermine le type de comparaison.


Valeurs

L'argument compare peut prendre les valeurs suivantes :

Constante Valeur Description
vbUseCompareOption -1 Effectue une comparaison à l'aide de la valeur de
l'instruction Option Compare.
vbBinaryCompare 0 Effectue une comparaison binaire.
vbTextCompare 1 Effectue une comparaison textuelle.
vbDatabaseCompare 2 Réservée à Microsoft Access. Effectue une
comparaison basée sur les informations de votre base de données.


Valeurs renvoyées

Si La fonction InStr renvoie
string1 est de longueur nulle 0
string1 est de type Null Null
string2 est de longueur nulle start
string2 est de type Null Null
string2 est introuvable 0
string2 est trouvée à l'intérieur de string1 Position à laquelle la
chaîne est trouvée
start > string2 0


Remarques

La fonction InStrB est utilisée pour traiter sous forme d'octets les
données d'une chaîne. Au lieu de renvoyer la position de caractère de
la première occurrence d'une chaîne dans une autre, la fonction InStrB
renvoie la position de l'octet.

==========
Et l'exemple fourni est

InStr, fonction, exemple
Cet exemple utilise la fonction InStr pour renvoyer la position de la
première occurrence d'une chaîne dans une autre chaîne.

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' Chaîne dans laquelle s'effectue la
' recherche.
SearchChar = "P" ' Recherche la chaîne "P".

' Une comparaison sans respect des majuscules et des minuscules
commence ' à la position 4 et renvoie 6.
MyPos = Instr(4, SearchString, SearchChar, 1)

' Une comparaison avec respect des majuscules et des minuscules
commence ' à la position 1 et renvoie 9.
MyPos = Instr(1, SearchString, SearchChar, 0)

' Par défaut (lorsque le dernier argument est omis),la recherche
respecte ' les majuscules et les minuscules.
MyPos = Instr(SearchString, SearchChar) ' Renvoie 9.

MyPos = Instr(1, SearchString, "W") ' Renvoie 0.


================ MID

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Démo Fonction Mid" ' Crée une chaîne texte.
FirstWord = Mid(MyString, 1, 4) ' Renvoie "Démo".
LastWord = Mid(MyString, 6, 8) ' Renvoie "Fonction".
MidWords = Mid(MyString, 6) ' Renvoie "Fonction Mid".

Ce second exemple utilise la fonction MidB et une fonction définie par
l'utilisateur (MidMbcs) pour renvoyer également les caractères de la
chaîne. La différence réside dans le fait que la chaîne en entrée est
en format ANSI et que la longueur est en octets.

Function MidMbcs(ByVal str as String, start, length)
MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length),
vbUnicode)
End Function

Dim MyString
MyString = "AbCdEfG"
' Où "A", "C", "E", et "G" sont DBCS et "b", "d"
' et "f" sont SBCS.
MyNewString = Mid(MyString, 3, 4)
' Renvoie ""CdEf"
MyNewString = MidB(MyString, 3, 4)
' Renvoie ""bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Renvoie "bCd"
Avatar
Jean-marc
Jacques wrote:
Bonjour,

Comment extraire du texte d'une chaine de caractère ??

Par exemple :

...
title="Mon Titre" href="MonRepertoire/blabla">

Dans ce cas comment récupérer Mon Titre ?

Merci de vos réponses

Jacques



Hello,

En complément de la réponse précédente, on peut aussi
se référer à 2 articles de notre FAQ consacrés au sujet:

Comment réaliser des manipulations de chaînes de caracères ?
http://faq.vb.free.fr/index.php?question8
et
Comment réaliser des manipulations complexes de chaînes de caracères ?
http://faq.vb.free.fr/index.php?question7

Tu y trouveras de nombreux exemples ainsi que des liens vers les
sections pertinentes de la documentation VB.

Plus généralement, la section "Texte & Strings" de la FAQ comprend
de nombreux articles détaillés sur le sujet :
http://faq.vb.free.fr/index.php?rubrique


Cordialement,

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;