Le découpage d'une chaîne dans un tableau dynamique


Une fonction qui divise une chaîne en parties séparées par une sous-chaîne
et renvoie les parties dans une dynamique de tableau de chaîne
scinder une chaîne dans un tableau
Les fonctions suivantes découper une chaîne en parties séparées par une sous-chaîne et de retourner les pièces dans une dynamique de tableau de chaîne:
interface
& nbsp & nbsp type
& ! & ! & ! & nbsp TStringArray = array de string
& nbsp & nbsp fonction Split(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const séparateur: string = ','): TStringArray
& nbsp & nbsp fonction AnsiSplit(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const séparateur: string = ','): TStringArray
& nbsp & nbsp mise en œuvre
& nbsp & nbsp utilise sysutils
& nbsp & nbsp fonction Split(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const séparateur: string): TStringArray
& nbsp & nbsp // Retourne un tableau avec les parties de 'str' séparés par un 'séparateur'
& nbsp & nbsp var
& ! & ! & ! & nbsp i, n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& nbsp & nbsp commencer
& ! & ! & ! & nbsp SetLength(Résultat, Se produit(str, séparateur) 1)
& ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & nbsp s := PChar(séparateur)
& ! & ! & ! & nbsp n := Longueur(séparateur)
& ! & ! & ! & nbsp j' := 0
& ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & nbsp q := StrPos(p, s)
& ! & ! & ! & ! & ! & nbsp si q = nil alors q := StrScan(p, #0)
& ! & ! & ! & ! & ! & nbsp SetString(resultat[i], p, q - p)
& ! & ! & ! & ! & ! & nbsp p := q n

& ! & ! & ! & ! & ! & nbsp inc(i)
& ! & ! & ! & nbsp jusqu'à ce q^ = #0
& nbsp & nbsp fin
& nbsp & nbsp fonction AnsiSplit(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const séparateur: string): TStringArray
& nbsp & nbsp // Retourne un tableau avec les parties de 'str' séparés par un 'séparateur'
& nbsp & nbsp // version ANSI
& nbsp & nbsp var
& ! & ! & ! & nbsp i, n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& nbsp & nbsp commencer
& ! & ! & ! & nbsp SetLength(Résultat, AnsiOccurs(str, séparateur) 1)
& ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & nbsp s := PChar(séparateur)
& ! & ! & ! & nbsp n := Longueur(séparateur)
& ! & ! & ! & ! i := 0
& ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & nbsp q := AnsiStrPos(p, s)
& ! & ! & ! & ! & ! & nbsp si q = nil alors q := AnsiStrScan(p, #0)
& ! & ! & ! & ! & ! & nbsp SetString(resultat[i], p, q - p)
& ! & ! & ! & ! & ! & nbsp p := q n
& ! & ! & ! & ! & ! & nbsp inc(i)
& ! & ! & ! & nbsp jusqu'à ce q^ = #0
& nbsp & nbsp fin

Exemple:
procedure TForm1.Button1Click(Sender: TObject)
& nbsp & nbsp var
& ! & ! & ! & nbsp un: TStringArray
& ! & ! & ! & nbsp i: integer
& nbsp & nbsp commencer
& ! & ! & ! & nbsp a := Split('part1,part2,part3')
& ! & ! & ! & nbsp for i := De 0 à Longueur(a) - 1 do begin // affichera trois boîtes de dialogue
& ! & ! & ! & ! & ! & nbsp ShowMessage(a[i]) // '1', 'part2', 'part3'
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin

Vous pouvez voir un exemple à l'aide d'une StringList au lieu d'un tableau dynamique dans un article séparé.









Le decoupage d'une chaîne dans un tableau dynamique


Le decoupage d'une chaîne dans un tableau dynamique : Plusieurs milliers de conseils pour vous faciliter la vie.


Une fonction qui divise une chaîne en parties separees par une sous-chaîne
et renvoie les parties dans une dynamique de tableau de chaîne
scinder une chaîne dans un tableau
Les fonctions suivantes decouper une chaîne en parties separees par une sous-chaîne et de retourner les pieces dans une dynamique de tableau de chaîne:
interface
& nbsp & nbsp type
& ! & ! & ! & nbsp TStringArray = array de string
& nbsp & nbsp fonction Split(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const separateur: string = ','): TStringArray
& nbsp & nbsp fonction AnsiSplit(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const separateur: string = ','): TStringArray
& nbsp & nbsp mise en œuvre
& nbsp & nbsp utilise sysutils
& nbsp & nbsp fonction Split(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const separateur: string): TStringArray
& nbsp & nbsp // Retourne un tableau avec les parties de 'str' separes par un 'separateur'
& nbsp & nbsp var
& ! & ! & ! & nbsp i, n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& nbsp & nbsp commencer
& ! & ! & ! & nbsp SetLength(Resultat, Se produit(str, separateur) 1)
& ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & nbsp s := PChar(separateur)
& ! & ! & ! & nbsp n := Longueur(separateur)
& ! & ! & ! & nbsp j' := 0
& ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & nbsp q := StrPos(p, s)
& ! & ! & ! & ! & ! & nbsp si q = nil alors q := StrScan(p, #0)
& ! & ! & ! & ! & ! & nbsp SetString(resultat[i], p, q - p)
& ! & ! & ! & ! & ! & nbsp p := q n

& ! & ! & ! & ! & ! & nbsp inc(i)
& ! & ! & ! & nbsp jusqu'a ce q^ = #0
& nbsp & nbsp fin
& nbsp & nbsp fonction AnsiSplit(const str: string
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const separateur: string): TStringArray
& nbsp & nbsp // Retourne un tableau avec les parties de 'str' separes par un 'separateur'
& nbsp & nbsp // version ANSI
& nbsp & nbsp var
& ! & ! & ! & nbsp i, n: integer
& ! & ! & ! & nbsp p, q, s: PChar
& nbsp & nbsp commencer
& ! & ! & ! & nbsp SetLength(Resultat, AnsiOccurs(str, separateur) 1)
& ! & ! & ! & nbsp p := PChar(str)
& ! & ! & ! & nbsp s := PChar(separateur)
& ! & ! & ! & nbsp n := Longueur(separateur)
& ! & ! & ! & ! i := 0
& ! & ! & ! & nbsp repeat
& ! & ! & ! & ! & ! & nbsp q := AnsiStrPos(p, s)
& ! & ! & ! & ! & ! & nbsp si q = nil alors q := AnsiStrScan(p, #0)
& ! & ! & ! & ! & ! & nbsp SetString(resultat[i], p, q - p)
& ! & ! & ! & ! & ! & nbsp p := q n
& ! & ! & ! & ! & ! & nbsp inc(i)
& ! & ! & ! & nbsp jusqu'a ce q^ = #0
& nbsp & nbsp fin

Exemple:
procedure TForm1.Button1Click(Sender: TObject)
& nbsp & nbsp var
& ! & ! & ! & nbsp un: TStringArray
& ! & ! & ! & nbsp i: integer
& nbsp & nbsp commencer
& ! & ! & ! & nbsp a := Split('part1,part2,part3')
& ! & ! & ! & nbsp for i := De 0 a Longueur(a) - 1 do begin // affichera trois boîtes de dialogue
& ! & ! & ! & ! & ! & nbsp ShowMessage(a[i]) // '1', 'part2', 'part3'
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin

Vous pouvez voir un exemple a l'aide d'une StringList au lieu d'un tableau dynamique dans un article separe.


Le découpage d'une chaîne dans un tableau dynamique

Le découpage d'une chaîne dans un tableau dynamique : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation