Hilfe bei nichtbekannte anzahl einer txt auslesen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von raist10.

    Hilfe bei nichtbekannte anzahl einer txt auslesen

    hallo

    ich brauche hilfe

    ich versuch nur den text bis zu einem "=" in ein label einzufügen....

    ich habe es mit split gemacht aber da dieser einen array zurück gibt kann ich diesen nicht einlesen...

    mein code:

    Quellcode

    1. Dim textsplit
    2. Dim AlterText As String = IO.File.ReadAllText("C:\e-projekts\user.txt")
    3. textsplit = AlterText.Split("=")
    4. Label2.Text = textsplit


    jetzt seid ihr gefragt nur zu info ich bin absoluter anfänger
    Probiere es mal so:

    VB.NET-Quellcode

    1. strMeinString.Substring(0, strMeinString.IndexOf("="))


    Die Methode Substring(intStart, intEnde) liefert Dir einen Teilstring aus der String-Variable zurück der bei intStart beginnt und bei intEnde endet.

    Die Methode IndexOf(SuchString) liefert die Position des ersten Vorkommens der gesuchten String im Inhalt der String Variable.

    Dadurch wird es dann einfach mit IndexOf die End-Position zu bestimmtn (bei Dir ja das erste Vorkommen des "=").

    Gruß

    Rainer
    bei der Methode mit split nutzt du das array so:

    VB.NET-Quellcode

    1. Dim textsplit as array
    2. Dim AlterText As String = IO.File.ReadAllText("C:\e-projekts\user.txt")
    3. textsplit = AlterText.Split("=")
    4. Label2.Text = textsplit(0) 'index 0 -> vor dem "=" ; index 1 -> nach dem "="
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!
    wenn ich jetzt aber mehrere splits hab geht das doch genauso oder?

    also müsst dieser code :

    Quellcode

    1. If textsplit(3) = "NEIN" Then
    2. Label2.Text = textsplit(0)
    3. ElseIf textsplit(3) = "JA" Then
    4. Label2.Text = textsplit(1)
    5. End If


    bei diesem text :
    test=
    test1=
    15=
    NEIN

    test ausgeben oder???
    aber er tut es nicht warum nicht
    Der Versuch ein Array(x)-Object mit einem String zu vergleichen geht schief. Schalte DRINGEND Option Strict On an, dann hätte Dich der Compiler darauf bereits hingewiesen.

    Um einen Array-Inhalt mit einem String zu vergleichen musst Du natürlich den angesprochenen Array-Inhalt zuerst in einen String konvertieren, was durch die Methode ToString sehr einfach ist, also so:


    VB.NET-Quellcode

    1. If textsplit(3).ToString = "NEIN" Then


    Und bitte daran denken das VB.NET CaSeSENsiTive ist.

    VB.NET-Quellcode

    1. If textsplit(3).ToString = "NEIN" Then


    Fürht zu einen False wenn der Inhalt z.B. "Nein" oder "nein" ist.

    Will man Text ohne Casesensitiv vergleichen, wäre die Compare-Methode der Klasse String besser:

    VB.NET-Quellcode

    1. If String.Compare(textsplit(3).ToString, "NEIN", True) = 0 then


    Gruß

    Rainer