Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Splitverhalten bei Sonderfällen (https://www.delphipraxis.net/204671-splitverhalten-bei-sonderfaellen.html)

darktrym 17. Jun 2020 17:40

Delphi-Version: 10.2 Tokyo

Splitverhalten bei Sonderfällen
 
Hallo,
ich habe eine Frage, wie bekomme ich es hin dass Split auf den String ';' und dem Trennzeichen ';' auch einen dynamischen Array der Länge 2 zurückgibt?
Hier unterscheidet sich die Implementierung in Delphi von anderen Programmiersprachen wie Python.
Gibts da eine andere Funktion die man verwenden muss?

Uwe Raabe 17. Jun 2020 18:56

AW: Splitverhalten bei Sonderfällen
 
Zitat:

Zitat von darktrym (Beitrag 1467589)
wie bekomme ich es hin dass Split auf den String ';' und dem Trennzeichen ';' auch einen dynamischen Array der Länge 2 zurückgibt?

Wie machst du es denn jetzt?

darktrym 17. Jun 2020 20:50

AW: Splitverhalten bei Sonderfällen
 
Was glaubst du?
Ich füge ein Trennzeichen an, wenn das letzte Zeichen auch eines ist.

Uwe Raabe 17. Jun 2020 21:45

AW: Splitverhalten bei Sonderfällen
 
Nein, wie rufst du das Split auf?

Der folgende Code liefert hier eine 2:
Delphi-Quellcode:
    S := ';';
    Writeln(Length(S.Split([';'])));
Ist das bei dir anders?

darktrym 18. Jun 2020 07:13

AW: Splitverhalten bei Sonderfällen
 
Ja, 10.2.3 gibt mir 1 zurück.

Delphi-Quellcode:
var
  str: String;
begin
   str := ';';
   Button1.Caption := IntToStr(Length(str.Split([';'])));

Rollo62 18. Jun 2020 07:54

AW: Splitverhalten bei Sonderfällen
 
Interessante Frage.
Schonmal damit rumgespielt.
http://docwiki.embarcadero.com/Libra...ngSplitOptions

Das ist leider nicht näher beschrieben, aber von der Logik here würde ich sagen das normalerweise OHNE (ExcludeEmpty, ExcludeLastEmpty) immer ein leerer Satz drin sein sollte.

Ist das Verhalten etwa nicht bei allen Versionen gleich ?

Uwe Raabe 18. Jun 2020 08:03

AW: Splitverhalten bei Sonderfällen
 
Zitat:

Zitat von Rollo62 (Beitrag 1467627)
Ist das Verhalten etwa nicht bei allen Versionen gleich ?

Vermutlich: 10.2.3 und 10.3.3 unterscheiden sich in der Tat bei der ExcludeLastEmpty-Behandlung.

darktrym 18. Jun 2020 09:10

AW: Splitverhalten bei Sonderfällen
 
Ja, aber nur der.
Ein leerer String und einem Trennzeichen ';' gibt mir 0 zurück und nicht 1.

himitsu 18. Jun 2020 09:17

AW: Splitverhalten bei Sonderfällen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1467637)
Vermutlich: 10.2.3 und 10.3.3 unterscheiden sich in der Tat bei der ExcludeLastEmpty-Behandlung.

Das heißt dann wohl, dass du den Bugfix erst kaufen mußt.

Oder du wendest dich nochmal lieb an den Support, bzw. ans Quality Center, oder lebst damit das selbst fixen zu müssen. :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz