Page 1 sur 1

Split()

Publié : ven. 29/août/2014 20:41
par falsam
Cette procédure retourne un tableau de chaînes, chacune d'elle étant une sous-chaîne du paramètre string extraite en utilisant le séparateur delimiter.

C'est une fonctionnalité qui existe en JavaScript par exemple et j'avais envie d'avoir cette fonctionnalité en PureBasic.

Un tout petit code pour sastifaire cette envie :)

Code : Tout sélectionner

Procedure Split(Array Array.s(1), String.s, Delimiter.s)
  Protected File, i, j, Buffer.s
      
  j = CountString(String, Delimiter)  
  ReDim Array(j)
  For i=1 To j+1  
    Array(i-1) = StringField(String, i, Delimiter)
  Next
EndProcedure

;-Zone de test
Dim Jours.s(0)

Split(Jours(), "lundi mardi mercredi jeudi vendredi samedi dimanche", " ")

;Vérification
For n=0 To ArraySize(Jours())
  Debug Jours(n)
Next
Ce n'est pas grand chose mais c'est pratique.

Re: Split()

Publié : mar. 02/sept./2014 17:56
par Kwai chang caine
Et en VB6 ...
Merci Falsam 8)

Re: Split()

Publié : mar. 02/sept./2014 21:40
par kernadec
sympa :D merci falsam

Re: Split()

Publié : mar. 02/sept./2014 22:08
par PAPIPP
Bonjour à tous

Voici une autre façon avec les REGEX

Code : Tout sélectionner

; If CreateRegularExpression(0,"[a-zA-Z]*")  ; Avec des minuscules ou des majuscules
If CreateRegularExpression(0,"[a-z]*")  ; Ici Avec seulement des minuscules
 
    Dim Resultat$(0)
    Nb=ExtractRegularExpression(0,"lundi mardi mercredi jeudi vendredi samedi dimanche",Resultat$())
    For k=0 To Nb-1
      Debug Resultat$(k)
    Next
  Else
    Debug RegularExpressionError()
  EndIf
  

A+