vb-net
Goto Top

String auf unerlaubte Zeichen prüfen mit IndexOf

Hi,
ich habe folgendes Problem. Ich habe vorher meinen String prüfen lassen mit der Funktion InStr. Da ich aber den Microsoft.VisualBasic-Namespace nicht mehr nutzen kann,
muss ich die .NET-Namespaces verwenden. Ich programmiere unter VB.NET.

Jetzt muss ich das ganze mit IndexOf lösen, aber komme nicht weiter.

Folgendes:

Der String darf nur folgende Zeichen enthalten:
 strErlaubteChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_.-"  


  For i = 0 To StringToCheck.Length
      strAktuellesZeichen = StringToCheck.Substring(i, 1)

      If strAktuellesZeichen.IndexOf(strErlaubteChars) > 0 Then
        Return blnErgebnis = False
      End If
    Next

    Return blnErgebnis

Wenn ich nun den Aktuellen String bsp. "hal/0" habe, dann interessiert ihn das nicht. Was mache ich falsch?

MfG

VB-NET

Content-Key: 98602

Url: https://administrator.de/contentid/98602

Printed on: April 18, 2024 at 17:04 o'clock

Member: bastla
bastla Oct 07, 2008 at 07:19:13 (UTC)
Goto Top
Hallo VB-NET!

Versuch's mal so:
Dim strErlaubteChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_.-"  
Dim strAktuellesZeichen As String, i As Integer
Dim blnErgebnis As Boolean = True

For i = 0 To StringToCheck.Length - 1
    strAktuellesZeichen = StringToCheck.Substring(i, 1)
    If strErlaubteChars.IndexOf(strAktuellesZeichen) < 0 Then
        blnErgebnis = False
        Exit For
    End If
Next

Return blnErgebnis
Der Rückgabewert ist "True", wenn der String nur erlaubte Zeichen enthält.

Grüße
bastla
Member: VB-NET
VB-NET Oct 07, 2008 at 10:02:11 (UTC)
Goto Top
Hi,
okay. Mir ist auch aufgefallen, dass ich einfach die IF-Abfrage falsch rum hatte.

Das mit der 'Deklarierung hatte ich vorher auch ;) Exit For kann ich mir ja sparen.

Trotzdem Vielen Dank!