[VisualBasic] String durchsuchen und zerlegen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von skittles, 1. März 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 1. März 2007
    String durchsuchen und zerlegen

    Hey RR'ler,

    ich möchte ein Programm schreiben, das eine Textdatei Zeile für Zeile durchläuft und jede Zeile in einen String schreibt und nach einem bestimmten Zeichen durchsucht und sobald dieses gefunden worden ist den String aufteilt.

    Also, wenn ich z.B. eine Datei test.txt habe:
    Code:
    Zeile 1.1|Zeile 1.2|Zeile 1.3
    Zeile 2.1|Zeile 2.2|Zeile 2.3
    Zeile 3.1|Zeile 3.2|Zeile 3.3
    dann soll das Programm die erste Zeile immer bei "|" aufteilen, so dass ich dann 3 Strings habe.
    Str1 = "Zeile 1.1"
    Str2 = "Zeile 1.2"
    Str3 = "Zeile 1.3"

    und für die nächste Zeile halt genau das selbe Verfahren.

    Mein Code sieht bis jetzt so aus:
    Code:
     Dim objStreamReader As StreamReader
     Dim strLine As String
     objStreamReader = New StreamReader("Files\test.txt").
     strLine = objStreamReader.ReadLine
     Do While Not strLine Is Nothing
    
     strLine = objStreamReader.ReadLine
     Loop
    
     objStreamReader.Close()
    Jetzt muss ich nur noch den String strLine nach "|" durchsuchen und zerlegen.


    Hoffe mir kann jemand helfen. Bewerte natürlich jeden der mir versucht zu helfen.

    Greetz Skittles
     
  2. 1. März 2007
    AW: String durchsuchen und zerlegen

    array = split(string, vbcrlf)
    array = split(string, "|")

    hf
     
  3. 1. März 2007
    AW: String durchsuchen und zerlegen

    öhm, ich weiß nicht genau, was ich mit dem code anfangen soll ^^

    skittles
     
  4. 1. März 2007
    AW: String durchsuchen und zerlegen

    Code:
    Zeile 1.1|Zeile 1.2|Zeile 1.3
    Zeile 2.1|Zeile 2.2|Zeile 2.3
    Zeile 3.1|Zeile 3.2|Zeile 3.3
    array1 = split(string, vbcrlf)

    ^^ das liefert dir nen array mit 3 werten.

    array1(0) = Zeile 1.1|Zeile 1.2|Zeile 1.3
    array1(1) = Zeile 2.1|Zeile 2.2|Zeile 2.3
    array1(2) = Zeile 3.1|Zeile 3.2|Zeile 3.3


    array2 = split(array1(0), "|")

    ^^das liefert dir für array(0) die werte:


    array2(0) = Zeile 1.1
    array2(1) = Zeile 1.2
    array2(2) = Zeile 1.3

    Den rest musste dir wohl selber angucken

    vb@rchiv · Befehlsreferenz · Zeichenketten

    ^^ da sind alle befehle für strings im algemeinen

    vb@rchiv · Befehlsreferenz · Split-Funktion

    ^^ und das für split speziell

    Knusperkeks
     
  5. 2. März 2007
    AW: String durchsuchen und zerlegen

    Sein Code is für .NET da is das so:
    Code:
    Dim asdf() As String 'So deklariert man schon arrays in vb.net oder? benutze sonst nur C#
    
    asdf = strLine.Split("\n")
    
    dann sin die einzelnen elemente in asdf(0), asdf(1) etc,
     
  6. 2. März 2007
    AW: String durchsuchen und zerlegen

    Ich kenne zwar kein VB.NET, aber in VB 6 kannst du "\n" nicht anstatt vbCrLf (neue Zeile) verwenden, da VB aufgrund der Anführungszeichen "denkt", es handelt sich um den String "\n". Benutz also anstatt "\n" einfach vbCrLf oder vbNewLine (ohne " ").
     
  7. 2. März 2007
    AW: String durchsuchen und zerlegen

    Der Code oben is für VB.NET und wie gesagt, ich benutze es nit, daher weiß ich net ob man \n benutzen kann, normalerweiße schon.
    In VB6 gehts nit, das weiß ich auch.
     
  8. 3. März 2007
    AW: String durchsuchen und zerlegen

    So, hatte gesteren keine Zeit mehr zum testen, aber werd heut mal versuchen, was ich mit eurer Hilfe hinbekomm. Hab jetzt erstmal alle bewertet.

    Meld mich nochmal wenns noch Probleme gibt.

    Thx skittles

    //EDIT: Danke nochmal! Hat alles funktioniert.
    Mit folgendem Code:
    Code:
     Dim x As Integer
     Dim y As Integer
     x = 0
     y = 0
     Dim objStreamReader As StreamReader
     Dim strLine As String
     objStreamReader = New StreamReader("Test\test.txt")
     strLine = objStreamReader.ReadLine
     Do While Not strLine Is Nothing
     x = x + 1
     Dim array1() As String
     array1 = Split(strLine, vbCrLf)
     Dim array2() As String
     array2 = Split(array1(0), "|")
     ListView1.Items.Add(x)
     ListView1.Items(y).SubItems.Add(array2(0))
     ListView1.Items(y).SubItems.Add(array2(1))
     ListView1.Items(y).SubItems.Add(array2(2))
     y = y + 1
     strLine = objStreamReader.ReadLine
     Loop
    
     objStreamReader.Close()
    skittles

    #Thema close ich dann mal
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.