AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Effiziente Methode, einen String mittels Delimiter zu splitten
Thema durchsuchen
Ansicht
Themen-Optionen

Effiziente Methode, einen String mittels Delimiter zu splitten

Ein Thema von Codehunter · begonnen am 11. Apr 2018 · letzter Beitrag vom 24. Aug 2018
 
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#11

AW: Effiziente Methode, einen String mittels Delimiter zu splitten

  Alt 19. Aug 2018, 21:24
Ich war gerade auch auf der Suche danach, einen String zu splitten und einen Rückgabewert zu erhalten (für eine bestimmte Position im String), mittels einer Standard-Funktion in Delphi, um nicht immer direkt meine eigenen Units einbinden zu müssen, wenn man mal nur einen kleinen Demo-source zeigen möchte.

SplitString hatte ich dann in StrUtils gefunden, aber hier im Forum nochmal interessehalber mal nach "Splitstring" gesucht.

Und siehe da, String.Split ist natürlich noch viel schöner und außerdem schon in System.Sysutils drin, die automatisch eingebunden wird, wenn man eine neue Form anlegt.

Damit kann man das elegant so machen:

Delphi-Quellcode:
procedure TF_Main.Button1Click(Sender: TObject);
var
  s, Part: string;
begin
  s := '#Müller#Hans#Bonn';

  // bisher "GetFieldStr" aus meiner eigenen Unit
  // ShowMessage (GetFieldStr ('#', S, 2); // Müller, Zähung 1-basiert

  ShowMessage (Splitstring (S, '#')[1]); //Müller, Zählung 0-basiert

  // Noch kürzer geht es so
  ShowMessage (S.Split(['#'])[3]); // Bonn
end;
Etwas schade ist zwar, dass ein dynamisches Array für alle Teilstrings erzeugt wird, da ich eigentlich nur einen Eintrag brauche, aber wie gesagt, brauche keine extra Unit und wenn es nicht auf Performance ankommt, bzw. ein Demo zu gestalten, ohne Drittfunktionen zu brauchen, dann geht das schon mal so.

Geändert von Harry Stahl (20. Aug 2018 um 00:20 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz