Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1751 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  extraction chaine de caractere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

extraction chaine de caractere

n°2279887
minimoack
Posté le 21-04-2016 à 11:40:46  profilanswer
 

Bonjour à tous !
 
Je n'arrive pas à manipuler correctement ma chaine de caractère.  
 
mon but est de récupérer le nom d'un zip.  
 

Code :
  1. <Doc FileId='xxxx' Name='file2.zip' Path='' IsCommitted='1' RelativeLocation='files/file2.zip' />


 
voici un exemple de chaine de caractere que je peux avoir. J'ai fait des recherches sur InStr et sur Mid, mais je n'ai pas trouvé comment récupérer une chaine entre x et y. J'aimerais donc récupérer file2.zip
 
J'ai essayé ça mais je récupère toute la ligne du coup...  :??:  
InStr(1, TextLine, "Name=", vbTextCompare)
 
 :jap:

mood
Publicité
Posté le 21-04-2016 à 11:40:46  profilanswer
 

n°2279894
Marc L
Posté le 21-04-2016 à 12:28:12  profilanswer
 

 
            Bonjour,
 
            chercher par exemple la position de ".zip" dans la chaîne puis
            via la fonction InStrRev chercher la position du ' qui précède et enfin via la fonction Mid extraire le nom
            en calculant la longueur par la différence arithmétique élémentaire du niveau CM1/CM2 entre les positions !
 

n°2279899
minimoack
Posté le 21-04-2016 à 13:42:09  profilanswer
 

Ok merci beaucoup, je ne connaissais pas InStrRev.  
 
mon code fonctionne, merci :

Code :
  1. position1 = InStr(1, ligne, ".zip" )
  2. position2 = InStrRev(ligne, "'", position1)
  3. longueur = position1 - position2
  4. ZipFileName = Mid(ligne, position2, longueur)

n°2279901
Marc L
Posté le 21-04-2016 à 13:49:16  profilanswer
 

 
            J'aurais ajouté 1 à Position2
 
            Autre méthode :

Code :
  1. Sub Demo()
  2.     Const LIGNE = "<Doc FileId='xxxx' Name='file2.zip' Path='' IsCommitted='1' RelativeLocation='files/file2.zip' />"
  3.     MsgBox Split(Split(LIGNE, "Name='" )(1), "'" )(0)
  4. End Sub


 

n°2279904
Marc L
Posté le 21-04-2016 à 13:51:22  profilanswer
 

 
            Ou encore MsgBox Split(LIGNE, "'" )(3)
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  extraction chaine de caractere

 

Sujets relatifs
extraction info EXIF d'un JPGrepérage d'une chaine dans une autre
Transformer une chaine en nombre complexelecture de chaine de caractere
Decomposition chaine de caractèreExtraction chaine de caractere variable [RESOLU]
[lazarus] Manipulation de chaine et extraction de caractèreextraction chaine de caractère
extraction dans une chaine de caractereextraction d'une sous chaine de caractere ?
Plus de sujets relatifs à : extraction chaine de caractere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR