Löschen von überflüssigen vbnewline in Arrays

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

    Löschen von überflüssigen vbnewline in Arrays

    Hallo,
    Ich habe vor kurzem eine kleine Funktion geschrieben, um Textdateien auszulesen und auch in arrays zu speichern, um mir später etwa eine funktion zu erstellen, wie bei Autoit iniread.
    Soweit so gut. Dachte eig, ich hätte einen geistesblitz ( :D ) und habe losgelegt, aber jetzt habe ich gerade noch ein problem.
    vor jeder zeile, steht ein vbnewline oder CHR 13 oder Absatz oder wie ihr es nennen wollt.
    Ich habe schon replace versucht und solche sachen , aber irgendwie bekomme ich diese ***** nicht weg. Auch google spuckt nichts mit arrays aus.
    Wäre sehr dankbar über brauchbare hilfe, und hoffe das es auch erläutert wird. ( ich weiß, dass es sowas schon gibt, aber ich will eben selbst ein paar projekte schreiben, um mich ein wenig mit VB vertraut zu machen)



    mfg Lol11
    Für genaue Hilfe musst du uns deinen Code zeigen.

    Generell kannst du aber String.Trim() verwenden. Das entfernt führende und nachfolgende Steuerzeichen vom String.

    VB.NET-Quellcode

    1. Dim Str As String = Environment.NewLine & "Hallo!"
    2. Str = Str.Trim() ' beinhält jetzt nur noch "Hallo!"
    Falls du nur Steuerzeichen vor dem String entfernen willst, nimm TrimStart().
    aus irgendeinem grund kann ich jetzt gar nicht mehr nach vbnewline splitten :(
    also ich hatte jetzt nicht besonders viel. Nur die Datei auslesen und danach mit Split(vbnewline) in einem array pro Zeile Speichern.
    das wäre schonmal gut.
    Danach könnte man mit einer for schleife , eine suchfunktion einbauen aber das ist ja noch ferne zukunft.
    habe es gerade nochmal mit einer textbox versucht: (richttextbox)

    VB.NET-Quellcode

    1. TextBox1.Text = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\variables.ini") 'eigentlich könnte man sich diese zeile sparen und direkt in die nächste gehen, aber ich habe es halt mal so ausprobiert...
    2. Dim text2 As String = TextBox1.Text
    3. Dim text() As String
    4. text = text2.Split(vbNewLine)'sogar das geht aus irgendeinem grund plötzlich nichtmehr
    5. text = text.TrimStart()
    Benutz ReadAllLines().

    VB.NET-Quellcode

    1. Dim text() As String = System.IO.File.ReadAllLines(Application.StartupPath & "\variables.ini")
    Natürlich kann man nicht alle kennen, aber dazu gibts ja die MSDN Referenz wo jede Methode, Eigenschaft usw. des .NET Frameworks beschrieben steht. Ebenso kann man ja den Namespace durchsuchen, da wird ja alles in einer Dropdown Liste angezeigt und eine kleine Info über die Methode gibts in IntelliSense dazu.

    Ansonsten gibts bei Split noch weitere Parameter z.B. das leere Array Elemente automatisch gelöscht werden.
    Wieso deine Methode mit vbNewLine "plötzlich" nicht mehr funktioniert leigt daran, dass vbNewLine ein String ist, die Splitfunktion jedoch ein Char- oder String-Array erwartet.

    msdn.microsoft.com/de-de/library/ms131448.aspx