2010-12-06 21 views
9

Cuál es la cantidad más pequeña de C# posible para comprobar que una cadena se ajusta a este formato #-##### (1 número, un guión luego 5 números más).Verificar el formato de una cadena

Me parece que una expresión regular podría hacer esto rápido (de nuevo, desearía saber expresiones regulares).

lo tanto, aquí está un ejemplo:

public bool VerifyBoxNumber (string boxNumber) 
{ 
    // psudo code 
    if (boxNumber.FormatMatch("#-#####") 
     return true; 
    return false; 
} 

si conoce el código real que va a hacer el trabajo de comparación anterior, por favor añada una respuesta.

Respuesta

18
private static readonly Regex boxNumberRegex = new Regex(@"^\d-\d{5}$"); 

public static bool VerifyBoxNumber (string boxNumber) 
{ 
    return boxNumberRegex.IsMatch(boxNumber); 
} 
7
return Regex.IsMatch(boxNumber, @"^\d-\d{5}$"); 
5

^\d-\d{5}$ habría una expresión regular que coincide sólo con este patrón.

+0

¡Guau, 3 expresiones regulares idénticas en 32 segundos! – LarsH

+0

Piense en lo malo que sería si hubiera 3 expresiones regulares completamente diferentes. – MusiGenesis

+2

@Music: hm, depende de si todos fueron correctos o no ... – LarsH