Hallo Leute,
ich brauche Hilfe bei eine RegularExpression.
Ich habe mir eine VB.Net Forms Anwendungs geschrieben und ich möchte das bei jedem Eintrag des Users in die Textbox der Eingetragene Text überprüft wird und eventuelle Fehleingaben Automatisch oder Nachträglich geändert werden...
Ich arbeite mit einem Match Pattern String...
Soweit sogut. Das Problem ist das ich es nicht hingekomme das er die Richtigen Zeichen löscht.
Folgende Zeichen sollen erlaubt sein: Alle Zeichen (a-b A-B 0-9) | Alle Sonderzeichen ausser (')
Hier mein Codebeispiel:
Zu sehen ist das ich das ' mit einem Doppeltem '' (Einzellne Hochkomma kein Anführungszeichen) ersetze (oder ersetzen will).
Wichtig ist auch, dass er mir nachdem er es ersetzt hat beim nächsten durchlauf nicht auf beide Hochkomma losgeht und diese ändert.
Es soll also nur ein Einzellnes Hockomma geändert werden.
Falls sich jemand damit auskennt und mir helfen könnte?
Grüße
TBS
@Bitte in VB.Net verschieben denke da gehört es wohl eher rein, sorry
ich brauche Hilfe bei eine RegularExpression.
Ich habe mir eine VB.Net Forms Anwendungs geschrieben und ich möchte das bei jedem Eintrag des Users in die Textbox der Eingetragene Text überprüft wird und eventuelle Fehleingaben Automatisch oder Nachträglich geändert werden...
Ich arbeite mit einem Match Pattern String...
Soweit sogut. Das Problem ist das ich es nicht hingekomme das er die Richtigen Zeichen löscht.
Folgende Zeichen sollen erlaubt sein: Alle Zeichen (a-b A-B 0-9) | Alle Sonderzeichen ausser (')
Hier mein Codebeispiel:
Zu sehen ist das ich das ' mit einem Doppeltem '' (Einzellne Hochkomma kein Anführungszeichen) ersetze (oder ersetzen will).
Wichtig ist auch, dass er mir nachdem er es ersetzt hat beim nächsten durchlauf nicht auf beide Hochkomma losgeht und diese ändert.
Es soll also nur ein Einzellnes Hockomma geändert werden.
Code:
Public Sub StringPattern(ByVal sender As System.Object) Dim TxtBx As TextBox = CType(sender, TextBox) Dim MatchPattern As String = "^[']{1}$" 'definiert das Suchkriterium If TxtBx.TextLength > 0 Then Dim Match As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(TxtBx.Text, MatchPattern) If Match.Success Then Dim i As Integer = TxtBx.Text.IndexOf(Match.Value) If Match.Value = "'" Then 'ersetzt ' mit '' TxtBx.Text = TxtBx.Text.Replace(Match.Value, "''") 'selektiert die gerade gelöschte Stelle sender.Select(i + 1, 0) 'und bewegt den Caret dahin um mit der Eingabe an der Stelle fortzufahren sender.ScrollToCaret() Exit Sub End If MsgBox("Sie haben ein unerlaubtes Zeichen eingegeben: " & """" & Match.Value & """") 'findet das Zeichen im Text 'entfernt das Zeichen TxtBx.Text = TxtBx.Text.Remove(i, Match.Length) 'selektiert die gerade gelöschte Stelle sender.Select(i, 0) 'und bewegt den Caret dahin um mit der Eingabe an der Stelle fortzufahren sender.ScrollToCaret() End If End If End Sub
Grüße
TBS
@Bitte in VB.Net verschieben denke da gehört es wohl eher rein, sorry
Comment