2016-03-21 21 views
-1

Also habe ich ein Stück Code, der funktioniert, wenn jemand im Chat schreibt! 3 kaufen, dann Regex bekommt diese Nummer 3 und macht Sachen, aber wie könnte ich Code machen, wenn jemand gibt nur ein, kaufe, dann sagt es "ihm" etwas anderes, als Fehler auf die Konsole zu werfen, weil es keine Nummer gab.C# Wenn Regex nicht passt, dann etwas tun

var getinfo = message.ToString(); 
Regex getInfo = new Regex("[0-9]+"); 
var random3 = getInfo.Match(getinfo).Value; 
+2

Könnten wir Ihre regex zu sehen, und der Code, der dies tut, zumindest vor, kommentieren? – Katana314

+0

Gibt es überhaupt einen Grund, Regex zu verwenden? Wenn Ihr Befehl immer zuerst kommt und der Befehl keinen Platz hat (! Buy,! Sell,! View_Bag oder! ViewBag), können Sie ihn einfach nach Leerzeichen aufteilen und den ersten Eintrag lesen/prüfen, wie viele nichtleere Einträge Sie haben Bereitstellen einer Antwort für leere Befehle. – Prix

+0

Ich habe den ersten Post bearbeitet –

Antwort

1

try this:

string getinfo = message.ToString(); 
Regex regex = new Regex("[0-9]+"); 
Match match = regex.Match(getinfo); 
//if regex doesn't match 
if (!match.Success) 
{ 
    //do something. 
} 
+0

Was ist das '@' am Anfang Ihres Musters? – Shafizadeh

+0

@Shafizadeh [Was ist das @ vor einer Zeichenfolge in C#?] (Http://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c) – Prix

+0

@ Prix Tnx ...... – Shafizadeh

Verwandte Themen