REGEX und Leerfelder

10/07/2008 - 13:18 von Martin Jau | Report spam
Hallo Ich habe folgendes Problem,
Gegeben:
Pattern="([\+\-\*\^\(\)\\])"
Formel="3+15*sin(x)+41"
Dim Token As New System.Text.RegularExpressions.Regex(Pattern)
Dim StringToken As String() = Token.Split(Formel)

StringToken Ausgabe:
3
+
15
*
sin
(
x
)
<- Hier ist der Fehler, wie bekomm ich das leerFeld weg???
+
41


Mfg martin
 

Lesen sie die antworten

#1 Karsten Sosna
10/07/2008 - 15:51 | Warnen spam
Gegeben:
Pattern="([\+\-\*\^\(\)\\])"
Formel="3+15*sin(x)+41"
Dim Token As New System.Text.RegularExpressions.Regex(Pattern)
Dim StringToken As String() = Token.Split(Formel)

StringToken Ausgabe:
3
+
15
*
sin
(
x
)
<- Hier ist der Fehler, wie bekomm ich das leerFeld weg???
+
41


Hallo Martin,
falscher Ansatz, das Pattern und die Verwendung des Regex sind falsch. Da wo
Du meinst, dass ein Fehler ist, ist keiner. Wenn du zwischen x und 41
splittest ensteht:
)
vbNullChar
+
Also alles in Ordnung. ;=)
Hier mal richtiger:
\\\
Dim Pattern = "\d+\.\d+|\w+|\+|\-|\*|\/|\\|\(|\)(?<= *)"
Dim Formel = "3.14 + 15 *sin( x ) + 41"

For Each match In System.Text.RegularExpressions.Regex.Matches(Formel,
Pattern)
Console.WriteLine("{0} ({1})", match, match.ToString.Length)
Next
///
Nicht über die Formel wundern, die soll so sein.
Gruß Scotty

Ähnliche fragen