Pascal 'Split' De La Fonction
Je suis à coder un petit programme en pascal et j'ai eu un petit problème. Dans d'autres langues il y a une fonction appelée "split" ou "exploser" pour prendre une longue chaîne qui est ponctué par un caractère et des scissions de cette longue chaîne en plusieurs petites chaînes et les attribue à un tableau.
Voici ce que je veux dire, je voudrais faire ceci:
longstring:='Word1.Word2.Word3');
Split('.', longstring, OutPutVariable) ;
{ OutPutVariable[1] would be Word1}
{ OutPutVariable[2] would be Word2}
{ OutPutVariable[3] would be Word3}
Ce n'est pas vrai code, comme le "split" n'existe pas en pascal. Je pense qu'il existe dans Delphi bien que. Peut anypne m'aider avec ce problème? Désolé si c'est vraiment un problème facile, je suis nouveau en programmation
- Vous taggés avec Delphi donc, si vous êtes sur Delphi XE ou plus tard, vous pouvez utiliser SplitString
- Si non, que cela a été mis en œuvre à plusieurs reprises ici, DONC.
- double possible de Comment scinder une chaîne de seulement dix caractères, par exemple"12345*45688" dans un tableau
- pas de cette question est de plus en plus vers un analyseur d'expression avec plusieurs séparateurs.
- Vous avez raison. Mauvais lien: stackoverflow.com/q/7491036/62576
- Je dirais que c'est la dupe de stackoverflow.com/questions/2625707
- double possible de découper une chaîne en un tableau de chaînes de caractères basé sur un délimiteur
Vous devez vous connecter pour publier un commentaire.
Avec un
TStringList
procédez comme suit:Remarque: Le
StrictDelimiter
propriété a été ajoutée dans D2006.D'une autre manière:
Pouvez utiliser plusieurs personnages comme un délimiteur.
ASSERT(list<> nil);
au début.String.Split
list.QuoteChar := #0;
permettrait d'éliminer cette possibilité, ou simplement utiliser leLineBreak
procédure.Delphi RTL a déjà la fonction précise que vous avez besoin,
SplitString
de laSystem.StrUtils
unité:Documenté comme:
Bien, tout le monde les postes traditionnels de réponses ici, il en sera je ne.
Je vois 2 réponses déjà posté, mais je ne sais pas si le quatrième-un (PChar à base de ExtractStrings) serait, avant d'être dupe sera fermé.
Dans l'ensemble c'est un doublon de Découper une chaîne en un tableau de chaînes de caractères basé sur un délimiteur et toutes les réponses peut être vu là-bas.
http://jcl.sf.net http://wiki.delphi-jedi.org/wiki/JCL_Help:IJclStringList
Maintenant
Si vous insistez sur l'original de votre indexation
Puis ajouter un talon 0e chaîne
ou
Il prévoit également Rejoindre et de nombreuses autres fonctions.
PS: 4ème variante est http://docwiki.embarcadero.com/Libraries/XE2/en/System.Classes.ExtractStrings