Funktion Split will nicht funktionieren

  • VB.NET (ASP)

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Lothar1951.

    Funktion Split will nicht funktionieren

    Hallo,

    ich möchte splitten, hab schon vieles erfolglos probiert. Hier mein Letzter Code: Alles ist z.B. Name;Strasse;PLZ usw.

    VB.NET-Quellcode

    1. Dim Alles As String
    2. Dim splittedString() As String
    3. Alles = Request.QueryString("Alles") '.Split(";")
    4. splittedString = Alles.Split(";")
    5. MyVariablen.MyName = Alles(0)
    6. MyVariablen.MyStrasse = Alles(1)
    7. MyVariablen.MyPLZ = Alles(2)


    Ich hoffe, jemand kann helfen!

    Lothar1951 schrieb:



    VB.NET-Quellcode

    1. Dim Alles As String
    2. Dim splittedString() As String
    3. Alles = Request.QueryString("Alles") '.Split(";")
    4. splittedString = Alles.Split(";")
    5. MyVariablen.MyName = splittedString (0)
    6. MyVariablen.MyStrasse = splittedString (1)
    7. MyVariablen.MyPLZ = splittedString (2)


    Sollte jetzt funktionieren. Vorausgesetzt es befindet sich mehr als nur der Text "Alles" in der Variablen Alles.
    Aktuelles Projekt: Z80 Disassembler für Schneider/Amstrad CPC :love:

    VB.NET-Quellcode

    1. Dim StringArray1 As String() = search_words.Split({" Or ", " or "}, 3, StringSplitOptions.None)

    Im String search_words steht als Beispiel: "Lothar1951 Or oobdoo". In StringArray1 steht an Index 0 dann Lothar1951 und an Index 1 dann oobdoo.




    @Lothar1951 Ich habe mir schnell eine Structure gebaut, um es lauffähig zu machen.
    Du hast bei split(";"c) das c vergessen.
    Außerdem musst du splittedString(...) hernehmen.

    VB.NET-Quellcode

    1. Public Class FormMain
    2. Private Structure MV
    3. Public MyName As String
    4. Public MyStrasse As String
    5. Public MyPLZ As String
    6. End Structure
    7. Dim MyVariablen As MV
    8. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    9. Dim Alles As String = "Lothar; ABC-Strasse; 12345"
    10. Dim splittedString() As String = Alles.Split(";"c)
    11. MyVariablen.MyName = splittedString(0)
    12. MyVariablen.MyStrasse = splittedString(1)
    13. MyVariablen.MyPLZ = splittedString(2)
    14. End Sub
    15. End Class


    Beiträge zusammengefügt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Hm … klappt doch.
    Bilder
    • Lothar.png

      22,83 kB, 724×218, 106 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Lothar1951 schrieb:

    Bei mir geht es leider nicht!
    Naja, so ist es eben manchmal. Programmieren ist eben ein Glücksspiel. Beim einen geht es, beim anderen nicht. Kann man nichts machen…
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    mrMo schrieb:

    Programmieren ist eben ein Glücksspiel. Beim einen geht es, beim anderen nicht. Kann man nichts machen…


    Nelling: „Das hat der Günter Detzer jetzt aber sicherlich im Scherz gemeint?“
    Detzer: „Ja, in der Tat“.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dksksm“ ()

    @Lothar1951: Lad mal bitte einen Screenshot hoch, auf dem zu sehen ist, was da genau eine Exception verursacht. Request? Oder Request.QueryString? Oder was ganz anderes? Wenn natürlich in Alles nix drin steckt, weil QueryString nix liefert, können wir auch nix machen. Da musst Du Dich drum kümmern, dass da in Alles was vernünftiges reinsgesteckt wird.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Zur Erläuterung:
    Ich habe sehr viele Daten im String (Name, Strasse, PLZ, Ort und noch viele andere) und dadurch viele oder Leerstellen. Habe schon mit Replace versucht diese zu entfernen (ohne Erfolg). Deshalb lege ich jetzt alles zusammen (MyVariablen.Alles = DataReader("Name").ToString() & C & MyVariablen.Strasse & C & MyVariablen.PLZ usw.) und versuche die Leerstellen zu umgehen.

    Da steht also im String was drin, was ich auch mit Response.Write sichtbar machen kann.
    Schau dir dieses Beispiel mal an und verstehe den Unterschied. Möglicherweise ist das der Grund warum bei dir immer wieder simple Dinge nicht funktionieren.

    VB.NET-Quellcode

    1. Dim Value As String = “ foo “
    2. value.Replace(“ “,““)
    3. Debug.Print(value)
    4. Dim OtherValue As String = value.Replace(“ “,““)
    5. Debug.Print(OtherValue)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ich bin dann mal raus, da weder ein Screenshot wie erbeten noch anscheinend echte Daten kommen. Im letzten Post ist in den Daten kein Semikolon zu sehen, an dem man splitten kann, daher würde Alles auch keine 3 Elemente enthalten, auf die man dann per Index zugreifen kann.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Lothar1951 schrieb:

    Ich hoffe, jemand kann helfen!


    Bei deiner Kooperationsbereitschaft, wohl keiner. Beschreib jetzt mal ganz genau was dein Problem ist.

    Du willst den Wert der Stringvariable Alles bei einem ; splitten, steht im Eröffnungspost, zeig mal was da drin ist!


    VB.NET-Quellcode

    1. Alles = Request.QueryString("Alles")
    2. ClipBoard.SetText(Alles)


    Dann schauen wir mal ob da ein ; zum splitten drin ist.

    Füge den Inhalt aus dem ClipBoard(STRG+V) in deinem nächsten Post ein.


    Lothar1951 schrieb:

    <a href = "hauptseite.aspx?Name=<% Response.Write(MyVariablen.Name)%>"></a>

    Wie wende ich das an?


    Du musst schon sagen was das Ziel ist. Woher kommt diese Zeile?

    Ich sach dir gleich, kommt keine vernünftige Antwort oder postest auch nicht den Inhalt aus dem Clipboard(ausser es ist leer), bin ich sofort ohne weiteren Kommentar wieder raus aus dem Thema. Du erwartest Hilfe, dann arbeite auch entsprechend mit! Tritt ein Fehler auf, poste deinen Code und nenn die Fehlerzeile. Häng auch wie von Vaporized gefordert einen Screenshot an, das ist doch nicht zu viel verlangt.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Takafusa“ ()