1. Artikel
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forum
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Paules-PC-Forum.de
  2. Forum
  3. Programmierung
  4. XProfan
  5. Anregungen und Bugreports

Len(S[, D]) + Trennzeichen

  • H.Brill
  • 24. September 2022 um 18:06
  • H.Brill
    Stammuser
    Reaktionen
    504
    Beiträge
    1.184
    • 24. September 2022 um 18:06
    • #1

    Hallo,

    ich habe hier noch einen Stolperstein gefunden :

    Code
    Cls
    Declare String s1, s2
    
    s1 = "Hallo Welt"
    s2 = "Hallo, Welt"
    
    Print Len(s1, ","), Len(s2, ",")
    
    waitkey

    Da kommt 1 und 2 heraus. Warum bei s1 eine 1, da ist doch gar kein Komma drin ?

    Bei s2 stimmt es.

    Sollte da nicht besser bei s1 eine 0 kommen ?

    Ob jetzt Bug oder nicht, da kann man schon mal ins Stolpern kommen. Zumindest

    ist es etwas irritierend.

    Da ist tatsächlich InStr() die bessere Wahl.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    Einmal editiert, zuletzt von H.Brill (24. September 2022 um 18:36)

  • Volkmar
    Moderator
    Reaktionen
    6.973
    Beiträge
    6.906
    • 24. September 2022 um 18:50
    • #2

    Nee, stimmt doch. Len() gibt bei dem Aufruf mit Trennzeichen als 2. Parameter die Anzahl der Teilstrings aus. s1 hat kein Trennzeichen, besteht also nur aus einem Teil, also Ergebnis 1. s2 hat genau ein Trennzeichen, besteht demzufolge aus 2 Teilstrings.

    s2 = "Hallo, du schöne, Welt" sollte als Ergebnis eine 3 liefern (und tut das auch ;) )

    Gruß Volkmar

  • H.Brill
    Stammuser
    Reaktionen
    504
    Beiträge
    1.184
    • 24. September 2022 um 19:30
    • #3

    So gesehen stimmt es auch wieder, ist aber trotzdem nicht sehr einsteigerfreundlich.

    Ich finde, daß es in der Hilfe erwähnt werden sollte, wie z.B. bei SubStr$(), wo bei

    keinem Fund des Trennzeichens eben der ganze String zurück gegebn wird.

    Wenn man es weiß, kann man dann eben > 1 abfragen, wenn man wissen will,

    wieviele Trenner vorhanden sind (ergebnis - 1). Es spart ja immerhin eine extra

    Schleife.

    Ich will mir ein spezielles IndexOf() basteln, das auch mit mehrdimensionalen Arrays

    klar kommt. Dabei will ich das pType$() speziell auswerten, da dieses ja auch die

    Dimensionen, falls vorhanden, zurückgibt : "&[8,8,2]". Damit hätte man die Anzahl

    Dimensionen und dazu auch die Größen. Anhand der Dimensionen könnte man

    dann ja einzelne Arrays erstellen und dann jeweils IndexOf() darauf anwenden.

    Auch ein erweitertes SelectString(), das nicht nur in der ersten Spalte einer Gridbox

    suchen kann, wäre vorstellbar.

    Mal sehen, was ich da basteln kann.

    Wir sind die XProfaner.

    Sie werden von uns assimiliert.

    Widerstand ist zwecklos!

    Wir werden alle ihre Funktionen und Algorithmen

    den unseren hinzufügen.

    Einmal editiert, zuletzt von H.Brill (24. September 2022 um 19:47)

  • Volkmar
    Moderator
    Reaktionen
    6.973
    Beiträge
    6.906
    • 24. September 2022 um 19:41
    • #4

    Ich finde das schon ausreichend beschrieben

    Zitat von X-Profan-Hilfe zu Len

    Len

    Wenn ein Trennzeichen angegeben ist:

    Die Anzahl der durch D getrennten Teilstrings in S.


    Gruß Volkmar

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Windows 11

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™