2012-03-30 1 views
0

Ich brauche Validierung für String neben erfüllen:Validate Zeichenfolge keinen Platz char haben und nur das erste und letzte Zeichen als Trennzeichen

  • kein Platz char
  • beginnt mit einem Begrenzer char
  • endet mit ein Trennzeichen char
  • hat kein anderes Zeichen als Trennzeichen char

wie dies geschehen kann?

Aktualisiert verpaßt leider, dass nur ein Trennzeichen char

+2

tun, um eine serach für regex –

+1

ein Hausaufgaben-Tag – Bond

+1

+1 für regex muss. Lerne es jetzt, es ist ein Muss! –

Antwort

1

am Anfang und am Ende sein sollte Wenn ich Ihre Frage richtig verstanden, dies tun soll:

char delimiter = ... 
string delimiterString = delimiter.ToString(); 
string s = ... 
bool right = !s.Contains(' ') 
    && s.StartsWith(delimiterString) 
    && s.EndsWith(delimiterString) 
    && !s.Substring(1,s.Length-2).Contains(delimiter); 
+0

Ich hoffe, er dankt dir, dass du seine Hausaufgaben für ihn gemacht hast. – Richard

+0

sieht gut aus, übrigens trim wird mehrere tun und fügen Sie auch für Null überprüfen – walter

+0

Nun sollte es richtig funktionieren, ist der Null-Check als Übung für den Leser übrig. –

1

Verwenden regex ... Unter der Annahme, # als Delimeter und Null Zeichen zwischen als akzeptabel.

Regex rx=new Regex("^#+[^\s]*#$"); 

return rx.IsMatch(teststring); 
+0

der Regex sollte aktualisiert werden, es deckt nicht alle Fälle ab – walter