VB 2010 Text richtig splitten?

05/30/2013 03:40 KilledCat#1
Servus,
ich wollte euch Fragen, wie man einen Text richtig splittet.
Also dort ist viel müll so in etwa:
Code:
1=dgsdg
2132gsd=5d12f1
bl=blubb
name=Hans
pass=Blubber
chubbi=bubbi
hskhdfs=52131
Und dort sollen das
name=Hans
pass=Blubber rausgefiltert werden.

Und am ende soll
eine art statistik oder werte verfügbar sein .
Ich mache zz ein Passwortsicherheits Analyse und muss daher solche Datensätze verarbeiten.
Dann sollen die passwörter untereinander gestelllt werden und gezählt wie viele Passwörter welche zeichenlänge besitzten / wie komplex die passwörter sind (numeric , alphanumeric usw.)

Immer wenn ich versuche , da was zu splitten und zu ordnen führt das zu nichts , ausser einen Error ;(

MFG
KilledCat
05/30/2013 05:12 dready#2
Zeilenweiße verarbeiten und dazu Regex würd sich hier wohl anbieten
05/30/2013 11:28 tolio#3
bei vbcrlf splitten, danach jedes ergebnis wieder beim = splitten

regex geht aber mit sicherheit auch ;)
05/30/2013 11:31 dready#4
@Tolio so vom Bauchgefühl her hat er glaub Probleme damit gehabt weil er die Zeile ausgelesen und dann bei '=' gesplittet hat was ihm dann sobald diese Zeichen im Passwort vorkam das genick gebrochen hat ;)

Edit: mh hat mir mein Hirn einen streich gespielt, sind ja garkeine '=' drin :P
Dann ist deine Variante sicher eleganter, sofern man weiß das der Char nach dem man Splittet auf keinen Fall woanderst auftauchen kann
05/31/2013 04:52 KilledCat#5
Ich nun bei einer kleinen zeile ein problem:
Code:
       Dim txt As String = System.IO.File.ReadAllText("LS.txt")

        Dim arr() As String 
        arr = txt.Split(";") 
        TextBox1.Text = System.IO.File.ReadAllText("LS.txt")
Und nun soll der schmarrn von Textbox1 In eine Listbox. Und das geht ja bei einem Array ja nur mir Listbox1.Items.add(arr(ZAHL))

Wie mache ich , das der dann direkt alle werte die mit ";" abgetrennt sind , dort einfügt.

Danke

MFG
KilledCat
05/31/2013 06:51 'Heaven.#6
Quote:
Originally Posted by KilledCat View Post
Ich nun bei einer kleinen zeile ein problem:
Code:
       Dim txt As String = System.IO.File.ReadAllText("LS.txt")

        Dim arr() As String 
        arr = txt.Split(";") 
        TextBox1.Text = System.IO.File.ReadAllText("LS.txt")
Und nun soll der schmarrn von Textbox1 In eine Listbox. Und das geht ja bei einem Array ja nur mir Listbox1.Items.add(arr(ZAHL))

Wie mache ich , das der dann direkt alle werte die mit ";" abgetrennt sind , dort einfügt.

Danke

MFG
KilledCat
Mit einee foreach schleife

Loope deinen array durch und lass einfach jedes item in die listbox adden
06/01/2013 13:44 KilledCat#7
Also in etwa
Code:
       Dim txt As String = System.IO.File.ReadAllText("LS.txt")

        Dim arr() As String 
        arr = txt.Split(";") 
        TextBox1.Text = System.IO.File.ReadAllText("LS.txt")
Dim i as Integer
For each 1 to 300
Listbox1.items.add(arr(i))
next
Das klappt ja uch ned, denn ich weis nie wie viele Items das Array hat.

MFG
KilledCat
06/01/2013 14:03 snow#8
For Each s As String In arr
Listbox1.Items.Add(s)
Next

3 Sekunden Google..

Oder du nutzt "Length" beim Array, so hast du die Länge des Arrays..