PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Split String : Allgemeine Frage



Rip
26.12.2008, 17:14
Hallo Leute, möchte mittels Split gerne ein bestimmtes Word auslesen


<li class="searchresult">
<div id="result" >timmer</div>
<div id="hash-not-found" style="display:none;">/images/hash-not-found-24.gif</div>

<div clas="gad">


Ihr findet dort das Wort "Timmer" , das möchte ich nun in einer listbox anzeigen lassen nur


str = TextBox1.Text.Split("<div> </div>")

Frage ist, wie trenne ich das korrekt ? EIn vorhandenes Snippet fand ich nicht und das einzige ist auf vbFrance aber viel zu komplex um es zu erkennen.

Jemand shconmal sowas änliches gemacht ?

Steav
26.12.2008, 17:48
Ich denke die String.Split() funktion bringt dich hier nicht weiter so wie du sie verwendest.
Ich würde es hier eher mit Regular Expressions probieren.

Rip
26.12.2008, 17:51
Was hat den die Regex Klasse damit zu tun ???? Ich will einen Stirng zwischen 2 bestimmten Strings auslesen und da brauch ich doch kein RegEx

Kannst du überhaupt Vb .. .NET

Darkraiser
26.12.2008, 17:52
also als erstes musste bis zu <div id="result" > suchen

und ab da .. des innen neuen string reinmachen


timmer</div>

dann musste in dem neuen String nach </div> suchen und alles davor nehmen ^^

dann haste den String!


timmer


von links nach rechts suchen (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vafctLeft.asp)
von rechts nach links suchen (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vblr7/html/vafctright.asp)


hoffe konnte dir helfen ^^

Rip
26.12.2008, 17:56
Schaue gerade FIlm und mach nicht weiter, werde es mir mal anschauen. Sieht aber schon gut aus, jedoch denke ich das es noch eine vereinfachte Form geben muss.

Es muss doch auch möglich sein den Text zu durchlaufen, das habe ich mit ner For Schleife, um dann das Wort zwischen "<div id="result" >" HIER "</div>" auslesen zu lassen. Die zeile gibt es nur einmal im Text.

Danke sehr

Darkraiser
26.12.2008, 17:58
hmm ist das wort immer verschieden groß oder immer gleich groß .. wenn des immer gleich ist geht schneller :) sonst musste wohl meine Methode nemen ^^ und so umständlich is die ja nicht .. sind grademal 4 oder 5 zeilen

mfg

Rip
26.12.2008, 18:01
Der string der ausgelesen werden soll ist beliebig groß, also kann er auch mehr als 40 Zeichen haben (z.B) . Ich muss also den Text durchlaufen bis zum 1. Anfang <div ... , dann von rechts das gleiche bis </div> und dan das lesen was da vor ist.

Vieleicht nicht viel Code aber müsste auch komfortabler realisiert werden.
Die Split Klasse ist sowieso nicht so gelungen :( Hätte ms vereinfachen können .

Steav
26.12.2008, 18:06
Was hat den die Regex Klasse damit zu tun ???? Ich will einen Stirng zwischen 2 bestimmten Strings auslesen und da brauch ich doch kein RegEx

Kannst du überhaupt Vb .. .NET


Brauchen nicht, wäre nur die sauberste Lösung. Mit Regex lässt sich weit mehr machen als Validation...


Für jemanden der dieses Problem mit String.Split() lösen wollte, demzufolge sich vor dem Posten nicht mal das Intellisense geschweige denn der MSDN angeschaut hat spuckst Du recht große Töne.


Edit:

Die Split Klasse ist sowieso nicht so gelungen Traurig Hätte ms
vereinfachen können .

Die Split Funktion tut genau das was sie soll, man muss nur wissen wozu sie gedacht ist und wozu nicht.

Darkraiser
26.12.2008, 18:07
wärs komfortabler ;) könnte ja jeder Programmieren ^^

aber das stimmt schon .. is etwas umständlicher, aber wennde dir ersma ne Funktion dazu geschrieben hast .. kannste die ja immer verwenden ^^ und is dann ziemlich komfortabel

mfg

Rip
26.12.2008, 18:10
Wo sind denn die Töne groß. Aber sag mir mal wie die RegEx Klasse in meinem Fall hilft. Du musst es ja wissen sonst würdest du nicht darauf hinweisen.

Die MSDN liefert dazu keine Snippets sondern sollte ich wissen nach was ich suchen muss hätte ich es dort gefunden. Das war bei mir aber nicht der Fall und mit "Split" kann man das nicht lösen.

Steav
26.12.2008, 18:25
Wo sind denn die Töne groß.


Ich will einen Stirng zwischen 2 bestimmten Strings auslesen und da brauch ich doch kein RegEx

Kannst du überhaupt Vb .. .NET


Da sind sie.





Aber sag mir mal wie die RegEx Klasse in meinem Fall hilft. Du musst es ja wissen sonst würdest du nicht darauf hinweisen.

Habe Dir mal ein Video aus dem dotnetproTV hochgeladen das das recht exakt beschreibt.

http://rapidshare.com/files/177006573/dnptvtipp02.wmv.html

Kurz: Du kannst Dir für das was Du suchst einen entsprechenden RegexString definieren, für den gewünschten Werteteil eine 'gruppe' definieren und dann das .Value der Match-Objekte abfragen. Im Video wird erklärt + gezeigt wie das geht.