[VB.Net] RegEx Problem (Quellcode, Zeilenumbruch)

05/01/2013 13:51 dready#16
Er "splittet" beim vorkommen des Zeichen den String auf in eine String[] mit je einem Teilstring pro Objekt im Array
05/01/2013 16:37 #SoNiice#17
Du könntest ja nochmal nach \r\n splitten, und in das Objekt im Array springen, welches deine Zahl enthält.
05/01/2013 16:52 maxasoft#18
Hab jzt mal so probiert, wie Kraizy vorgeschlagen hat.

Code:
Dim s1 As String = ergebnis.Split(CChar(vbNewLine))(0) 
Dim s2 As String = ergebnis.Split(CChar(vbNewLine))(1) 
Dim s3 As String = ergebnis.Split(CChar(vbNewLine))(2) 
Dim s4 As String = ergebnis.Split(CChar(vbNewLine))(3)

Fehler: "der Index war außerhalb des Arraybereichs"


Quote:
Originally Posted by SoNiice View Post
Du könntest ja nochmal nach \r\n splitten, und in das Objekt im Array springen, welches deine Zahl enthält.

ok, wie stell ich das an?
so?
Code:
 Dim ergebnis2 As String = html.Substring(html.IndexOf("Es erfordert viel Disziplin und Ausdauer eine Kampfkunst zu erlernen.")).Split({"\r\n"}, StringSplitOptions.None)(0).Replace("</a>", "").Replace("</span>", "").Replace("<br />", "").Trim()
05/01/2013 18:54 #SoNiice#19
Dim s1 As String = ergebnis.Split(CChar(vbNewLine))(0)
Dim s2 As String = ergebnis.Split(CChar(vbNewLine))(1)
Dim s3 As String = ergebnis.Split(CChar(vbNewLine))(2)
Dim s4 As String = ergebnis.Split(CChar(vbNewLine))(3)

Wie kann das aus außerhalb des Arraybereiches sein, wenn es doch 5 Zeilenumbrüche in deinem Text gibt?
05/01/2013 20:48 maxasoft#20
Quote:
Originally Posted by SoNiice View Post
Dim s1 As String = ergebnis.Split(CChar(vbNewLine))(0)
Dim s2 As String = ergebnis.Split(CChar(vbNewLine))(1)
Dim s3 As String = ergebnis.Split(CChar(vbNewLine))(2)
Dim s4 As String = ergebnis.Split(CChar(vbNewLine))(3)

Wie kann das aus außerhalb des Arraybereiches sein, wenn es doch 5 Zeilenumbrüche in deinem Text gibt?
Hab ich mich auch gefragt :rtfm:

edit:

Mein kompletter Code:

Code:
Try
            Dim ergebnis As String = html.Substring(html.IndexOf("Es erfordert viel Disziplin und Ausdauer eine Kampfkunst zu erlernen.")).Split({"</td>"}, StringSplitOptions.None)(0).Replace("</a>", "").Replace("</span>", "").Replace("<br />", "").Trim()
            'ergebnis = ergebnis.Replace("Es erfordert viel Disziplin und Ausdauer eine Kampfkunst zu erlernen.", "")
            'ergebnis = ergebnis.Replace("Nächste Stufe: &euro;5,00", "")
            'ergebnis = ergebnis.Replace("Dauer:  ", "")
            'ergebnis = ergebnis.Replace("Erhöht ATT um 1", "")

            Dim s1 As String = ergebnis.Split(CChar(vbNewLine))(0)
            Dim s2 As String = ergebnis.Split(CChar(vbNewLine))(1)
            Dim s3 As String = ergebnis.Split(CChar(vbNewLine))(2)
            Dim s4 As String = ergebnis.Split(CChar(vbNewLine))(3)
            MsgBox(ergebnis)
            MsgBox(s1)
            MsgBox(s2)
            MsgBox(s3)
            MsgBox(s4)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try