AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi String.Split Methode Delimiter mehrmals vorhanden
Thema durchsuchen
Ansicht
Themen-Optionen

String.Split Methode Delimiter mehrmals vorhanden

Ein Thema von SyntaxXx · begonnen am 19. Aug 2014 · letzter Beitrag vom 21. Aug 2014
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.702 Beiträge
 
Delphi 12 Athens
 
#1

AW: String.Split Methode Delimiter mehrmals vorhanden

  Alt 19. Aug 2014, 21:33
Also bei XE6 gibt es ein Overload für Split, dem man einen Count mitgeben kann:

meinString.Split([','], 1)[1];

Wenn XE4 das nicht hat, dann muss ich mich also korrigieren: es ist nicht die falsche Methode, sondern eine zu alte Delphi-Version.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: String.Split Methode Delimiter mehrmals vorhanden

  Alt 19. Aug 2014, 23:11
Also bei XE6 gibt es ein Overload für Split, dem man einen Count mitgeben kann:

meinString.Split([','], 1)[1]; Wenn XE4 das nicht hat, dann muss ich mich also korrigieren: es ist nicht die falsche Methode, sondern eine zu alte Delphi-Version.
Nein, es ist und bleibt die falsche Methode ... egal wie alt die Delphi-Version ist, denn ohne die Angabe des Parameters, wird die falsche Methode benutzt.

Wenn es in älteren Delphi-Versionen diese Überladung nicht gibt, dann wird die falsche Methode doch nicht richtiger, sondern bleibt genauso falsch, es fehlt nur die Alternative mit der richtigen Methode
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: String.Split Methode Delimiter mehrmals vorhanden

  Alt 20. Aug 2014, 07:11
Bei Ausgrabungen habe ich das hier gefunden. Ich habe mir so eine Funktion für meine ersten Gehversuche mit 15 Jahren unter Rocky Mountain Basic (HP9845) geschrieben. Es macht genau das, was u.A. himitsu vorgeschlagen hat.
Delphi-Quellcode:
Function Split(Var S: String; Del: String): String;
Var
  p: Integer;

Begin
  p := pos(Del, S);
  If p = 0 Then Begin
    Result := s;
    s := '';
  End
  Else Begin
    Result := Copy(s, 1, p - 1);
    s := Copy(s, p + length(Del), length(s));
  End;
End;
Damit kann man -allerdings ziemlich unperformant- einen String sukzessive in seine Bestandteile zerlegen:
Delphi-Quellcode:
var
  s : String;

begin
  s:='Das,ist,ein,Satz,mit,Komma';
  while s<>'do writeln(Split(s,','));
End;
Nach dem ersten Aufruf stände in 'S' allerdings das vom TE gewünschte Ergebnis.

Und: Ja, ich werde mich mit Emba mal über den Methodennamen 'Split' ernsthaft unterhalten müssen. Ich war zuerst da, von wegen prior Art und so
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:07 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