Autor Thema: Verhalten von @explode mit Mehrteiligen Trennern ...  (Gelesen 1512 mal)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Entweder bin ich endgültig komplett verblödet oder irgendetwas ist in der letzten Zeit an mir vorbeigerauscht.

Folgende Liste Habe ich als TextString:
Begriff~~Benutzername~~Datum1~~Zeit1~~Datum2~~Zeit2~~TimeStamp~~Bemerkung~~Minuten.

Herkömmlich getrennt wird das durch ja durch
@explode(TextString;"~~").
Damit bekomme ich dann wenn alle Wert gefüllt wurden ja auch folgendes zurück:
Back[1]=Begriff
Back[2]=Benutzername
.
.
Back[9]=Minuten

Wenn ich jetzt aber einen leeren Eintrag da mit drinnen habe (zum Beispiel keine Bemerkung) dann ist es Essig mit der Zuordnung. Plötzlich fehlt mir ein Element. Back[9] ist also plötzlich Back[8].

Na gut. Dafür gibt es ja bekanntlich den dritten Parameter bei @explode Dann sieht das Dingens nämlich so aus:
@explode(TextString;"~~";1)

Richtig?

Gut.

FALSCH!!!!

Wenn du diesen Parameter nämlich mit einem Zweistelligen gleichen (nur damit hab ich das ausprobiert) String für den Explode verwendest, dann ...

Ja dann kriegst du plötzlich etwas ganz anderes bei der Geschichte raus und zwar:
Back[1]=Begriff
Back[2]=
Back[3]=Benutzername
Back[4]=
Back[5]=Datum
.
.
Back[17]=Minuten

Entweder ist mir das noch nie so aufgefallen oder wie schon oben gesagt irgendwas hab ich verpennt.

Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Verhalten von @explode mit Mehrteiligen Trennern ...
« Antwort #1 am: 12.12.05 - 15:29:07 »
da kann ich nur sagen: Glück gehabt bisher....

Hier ein Auszug aus der Hilfe:

Text. Optional. Ein oder mehrere Zeichen, durch die das Ende eines Elements in Zeichenfolge definiert wird. Standardmäßig wird für Trennzeichen " ,;" (Leerzeichen, Komma, Semikolon) angenommen....

Das heisst: In der Zeichenkette, die als Trennzeichen verwendet wird, wird jedes Zeichen EINZELN als Trenner betrachtet:

@Explode( "TEST~TEST2§TEST3~§TEST4" ; "~§" )

ergibt tatsächlich
TEST
TEST2
TEST3
TEST4

und nicht wie man vielleicht erwartet

TEST~Test2§TEST3
TEST4

ALSO: @Explode( TextString ; "~~" ) entspricht vom Ergebnis her EXAKT @Explode( TextString ; "~" ) (weil intern quasi ein @Unique über die Trennzeichen gemacht wird)

PG kann ich da nur sagen...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Verhalten von @explode mit Mehrteiligen Trennern ...
« Antwort #2 am: 12.12.05 - 15:40:21 »
Text. Optional. Ein oder mehrere Zeichen, durch die das Ende eines Elements in Zeichenfolge definiert wird.
Das Problem dabei ist das man diese Textstelle auch anders interpretieren kann. Nämlich so, das der Trenner ein oder mehrere Zeichen lang sein können, man als z.B. auch "STOP" als Trennzeichen verwenden dürfte.

Was ja nicht stimmt.

Und was noch viel intelligenter ist, ich kenne jetzt Dutzende von Büchern und noch einige mehr Anwendungen, die exakt auf dieser Prämisse basierend zum Beispiel ihre Datenübernahme organisiert haben.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Verhalten von @explode mit Mehrteiligen Trennern ...
« Antwort #3 am: 12.12.05 - 15:48:36 »
dann haben alle diese Entwickler ziemlich Viel Glück gehabt...

habe es gerade probiert:

@Implode( @Explode( "ASTOPBTC" ; "STOP" ) ; "~" )

ergibt:

A~B~C
und eben NICHT
A~BTC

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz