Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   posex oder pos, fester trenner im string (https://www.delphipraxis.net/181521-posex-oder-pos-fester-trenner-im-string.html)

Dejan Vu 22. Aug 2014 07:47

AW: posex oder pos, fester trenner im string
 
Dann steht zwischen den Delimitern nichts und die Routine liefern einen leeren String. Mit '|' wäre das genau so.

Sir Rufo 22. Aug 2014 07:51

AW: posex oder pos, fester trenner im string
 
Zitat:

Zitat von pelzig (Beitrag 1269514)
@Dejan Vu:
Die vielen Klammeraffen am Stringende könnten dem TE beim PoSex vllt. Schwierigkeiten machen, daher der StringReplace-Vorschlag :-D

MfG

So ein blindes
Delphi-Quellcode:
StringReplace
(blind in der Funktion und Anwendung) ist immer der Anfang von Problemen, die einen früher oder später einholen.

Warum schreibt man sich nicht eine Funktion, die das auch wirklich interpretieren kann?

motec 22. Aug 2014 07:53

AW: posex oder pos, fester trenner im string
 
Vielen Dank an ALLE für die Hinweise, SplitString hat mir geholfen.

#Jens01 Perversling ist, wer an perverses denkt. :lol:

Super Forum, hat mir bei einem laufenden Projekt in vielen Fragen geholfen.

himitsu 22. Aug 2014 08:22

AW: posex oder pos, fester trenner im string
 
Bezüglich dem StringReplace-Vorschlag:

Einige Split-Funktionen können nur mit einzelnen Trennzeichen, aber nicht mit Trenn-Sequenzen umgehen,
also nur ein und nicht mehrere Zeichen.

Wenn man soeine Funktion verwendet, dann muß man entweder die "Trennzeichen" ersetzen,
oder man löscht/ignoriert nach dem auftrennen jede zweite Zeile.

Hier darf aber das "Trennzeichen" als "Einzelzeichen" nicht in den Strings vorkommen, denn wenn das so ist, dann muß es wirklich als Trenn-Sequenz behandelt werden.

Sir Rufo 22. Aug 2014 08:31

AW: posex oder pos, fester trenner im string
 
Man muss sich eben entscheiden, ob man Daten so interpretiert, wie die Vereinbarung/das Protokoll das vorsieht oder eben nur quasi so in etwa.

Wundern darf man sich dann aber auch nicht wenn das Ergebins auch so aussieht: Wie vereibart oder quasi so in etwa :)

pelzig 22. Aug 2014 09:09

AW: posex oder pos, fester trenner im string
 
Wenn die Vereinbarung der doppelte Klammeraffe als Trennzeichen war: Warum nicht lokal in ein gängigeres Trennzeichen stringreplacen?

Ich benutze das StringReplace um eingehenden Kram notfalls CSV-kompatibel zu machen, um dann meine CSV-Funktionen (und ggfs. Excel oder LibreOfficeCalc zwecks Kontrolle) darauf loszulassen.

Wie himitsu schon schrub: Bei mir muss das Trennzeichen ein Zeichen, keine Zeichenfolge sein.

Jeder wie er kann oder muss. Manche sind halt "Profis", ich eher nicht. Bisher ist mir noch nichts um die Ohren geflogen, was "quasi so in etwa" war. Habe bisher wohl offensichtlich nur Anfängerglück gehabt :oops:

===========================================
quasi = ungefähr
etwa = ungefähr

quasi so in etwa = ungefähr so in ungefähr
===========================================

Das Problem des TE wurde gelöst, also bitte Ruhe im Karton :-D

MfG

Dejan Vu 22. Aug 2014 09:33

AW: posex oder pos, fester trenner im string
 
Zitat:

Zitat von himitsu (Beitrag 1269523)
Einige Split-Funktionen können nur mit einzelnen Trennzeichen, aber nicht mit Trenn-Sequenzen umgehen

Dann sind das keine sonderlich guten 'Split' Funktionen. Da schreibe/suche ich mir lieber eine ordentliche Routine, als die Eingabe (meinen String) zu umzuverknurpseln, das die kastrierte Split-Routine damit klar kommt.

Für mich ist die ideale Split-Funktion übrigens die hier.
Aber irgendwie habe ich den Eindruck, das es derzeit im Forum keine richtigen Probleme mehr gibt, sonst würden wir uns hier nicht seitenlang über Split-Routinen unterhalten.

Zitat:

Zitat von pelzig (Beitrag 1269526)
Wenn die Vereinbarung der doppelte Klammeraffe als Trennzeichen war: Warum nicht lokal in ein gängigeres Trennzeichen stringreplacen?

Wenn man das dann mit Excel weiterverarbeiten will, bleibt Dir ja nichts anderes übrig. Aber ich finde in der Frage des TE den Hinweis nicht, das er das mit Excel weiterverarbeiten will. Ergo halte ich deine Idee für umständlich.
Zitat:

Das Problem des TE wurde gelöst, also bitte Ruhe im Karton :-D
Eben. Wozu dann also deine Ausführungen? :-D

Außerdem bin ich nich im Karton. :stupid:

Uwe Raabe 22. Aug 2014 10:01

AW: posex oder pos, fester trenner im string
 
Zitat:

Zitat von himitsu (Beitrag 1269523)
Einige Split-Funktionen können nur mit einzelnen Trennzeichen, aber nicht mit Trenn-Sequenzen umgehen,
also nur ein und nicht mehrere Zeichen.

Für diesen Fall kann man (in neueren Delphi-Versionen) auch die TStringList verwenden: How to split string by a multi-character delimiter?

himitsu 22. Aug 2014 10:11

AW: posex oder pos, fester trenner im string
 
Zitat:

Zitat von Dejan Vu (Beitrag 1269529)
Dann sind das keine sonderlich guten 'Split' Funktionen.

Das kommt auf die Definition an.

Es gibt Split-Funktionen, die bekommen 2 Parameter rein.
- den aufzuteilenden String
- und einen String mit allen Trennzeichen
Da wird dann in dem "Trennzeichenstring" jedes Zeichen als eigenständige Trennzeichen verwendet.
Delphi-Quellcode:
Split('a*b c', '* ')
würde dann quasi einem
Delphi-Quellcode:
Split('a*b c', ['*', ' '])
entsprechen.


Und jetzt rate mal, was man im Delphi verbaut hat.
Aber wenn man genau hin sieht, dann fällt einem das "s", am Ende des Delimiters-Parameter auf. :stupid:

pelzig 22. Aug 2014 11:19

AW: posex oder pos, fester trenner im string
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1269534)
Zitat:

Zitat von himitsu (Beitrag 1269523)
Einige Split-Funktionen können nur mit einzelnen Trennzeichen, aber nicht mit Trenn-Sequenzen umgehen,
also nur ein und nicht mehrere Zeichen.

Für diesen Fall kann man (in neueren Delphi-Versionen) auch die TStringList verwenden: How to split string by a multi-character delimiter?

Stammt die Frage nach Delphi 6 nicht von Dir?

Wie würden Deine Antworten denn für D7..XE7 ausfallen?

Warum eigentlich sollte man jede Frage nicht eigentlich immer bis auf die Assemblerbefehle des 8086 mit dem Azwangsigergate hin reANALysiren?

Was mich OT mehr interessieren würde:

Nagelneue/sauteure WP8.1 Smartphones haben eine gewisse Rechenleistung.
Wie lässt sich deren Rechenleistung mit einem herkömmlichen PC vergleichen?

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr.
Seite 2 von 3     12 3      

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