Les Snippets

Connexion

Split sur plusieurs critères

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 19/09/2006 03:06:19 et initié par PCPT [Liste]
Date de mise à jour : 26/02/2007 02:54:22
Vue : 7672
Catégorie(s) : Compression & Split, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- VB6
- Voir tous les langages pour ce code snippet



Langage : VB6 , VBA
Date ajout : 19/09/2006
Posté par PCPT [Liste]
DateMAJ : 26/02/2007
Function MultiSplit(ByVal sStr As String, bKeepSepar As Boolean, ParamArray aArray()) As String()
'    sStr        -> chaîne à  parser
'    bKeepSepar  -> garder ou non les  caractères de référence
'    aArray      ->  tableau des références de taille variables
    Dim sCol As New Collection
    Dim sChar          As String, sLeft As String
    Dim bFound         As Boolean
    Dim aRes()         As String
    Dim i              As Integer, j As Integer, NbCarac As  Integer
    i = 0
    
    While LenB(sStr) > 0
        i = i + 1
        bFound = False
        For j = LBound(aArray) To UBound(aArray)
            NbCarac = Len(aArray(j))
            sChar = Mid$(sStr, i, NbCarac)
            If sChar = CStr(aArray(j)) Then bFound = True: Exit  For
        Next j
        If bFound Then
            sLeft = Left$(sStr, i - 1)
            If LenB(sLeft) > Then sCol.Add sLeft
            If bKeepSepar Then sCol.Add sChar
            sStr = Right$(sStr, Len(sStr) - (NbCarac + (i - 1)))
            i = 0
        ElseIf sChar = vbNullString Then
            sCol.Add sStr
            sStr = vbNullString
        End If
    Wend
    ReDim aRes(sCol.Count - 1)
    For i = To sCol.Count
        aRes(i - 1) = sCol.Item(i)
    Next i
    MultiSplit = aRes
    
    Set sCol = Nothing
    Erase aRes
End Function
'  EXEMPLE  D'UTILISATION
Private Sub Form_Load()
    Dim a$(), i%
    a = MultiSplit( _
          "Function MultiSplit(ByVal sStr As String, bKeepSepar As Boolean,  ParamArray aArray()) As  String()", _
          False"("")"",""String"" ")
    For i = To UBound(a)
        Debug.Print "_" & a(i) & "_"
    Next i
End Sub

Remarque :
mis à jour : supporte les paramètres de différentes tailles
(au lieu de 1 seul caractère)

Snippets en rapport avec : Séparateur, Split, Multiple



Codes sources en rapport avec : Séparateur, Split, Multiple

{Flash} DETECTEUR AUTOMATIQUE DE MEDIA AS3 - AS2
je viens de la finir ! je m'en sers pour trier mes médias qui viennent d'un xml unique... ça peut se...

{PHP} UTILISATION DU COMPOSANT MULTIPOWUPLOAD
Exemple d'utilisation du composant MultiPowUpload.... Le dossier UploadedFiles doit avoir les dro...

{C / C++ / C++.NET} WIN32CAB .CAB
Compresser decompresser des fichiers en .cab -password encrypter le fichier -Split fichier a la ...

{PHP} TÉLÉCHARGER PLUSIEURS FICHIERS EN 1 CLIC
Voila une petite astuce pour lancer le téléchargement de plusieurs fichiers à la fois. Ça tiens en ...

{PHP} UPLOAD PLUSIEURS FICHIERS EN AJAX + FLASH+PHP
script réalisé par http://digitarald.de/project/fancyupload/ , Il permet l'envoi de fichiers multip...

{Delphi} DELPHI : PROCEDURE SPLIT SIMILAIRE A LA FONCTION EPONYME EN VB
Découpe une chaîne délimitée en ses éléments pour remplir un tableau dynamique passé en paramètre. U...

{Flash} PRELOAD D'IMAGES EXTERNES MUTIPLES
Voici un code pour le préchargement de plusieurs images externes dans le cache du navigateur. C'es...

{Delphi} FONCTION SPLIT
Du fait que les fonctions Split que j'ai trouvé sur le web ne marchait pas correctement, j'ai décidé...

{Visual Basic, VB6, VB.NET, VB 2005} IMPORTER UN FICHIET TXT ET LE METTRE DANS UNE BASE DE DONNÉE
ce code permet de choisir n'importe quel fichier txt dans le pc a condition qu'il soit avec ";" comm...

{Javascript / DHTML} UPLOAD EN AJAX + FLASH (FANCY UPLOAD)
Superbe script réalisé par http://digitarald.de/project/fancyupload/ , Il permet l'envoi de fichier...