22 votes

C# chaîne commence par un nombre regex

J'ai cherché pendant un certain temps comment confirmer qu'une chaîne de caractères commence par un chiffre. Je suis tombé sur une instruction regex '/^ \d /' qui, je le confirme, dit que si ça commence par un chiffre. Cependant, je ne parviens pas à le faire fonctionner dans le code ci-dessous. Où est-ce que je me suis trompé dans l'instruction if(Regex.Match(info,"/^\d/")) ?

//String attachbody is the attachment body from an email C read into a string
string[] data = Regex.Split(attachbody, "\n");

foreach (String info in data)
{
    if (Regex.Match(info,"/^\d/"))
    {
        string[] tabbedHeaderData = Regex.Split(info, "\t");
        TicketID = tabbedHeaderData[0].ToString();
        Status = tabbedHeaderData[1].ToString();
        URL = tabbedHeaderData[2].ToString();
        InitCats = tabbedHeaderData[3].ToString();
        PostRevCats = tabbedHeaderData[4].ToString();
        ListNumClosed = tabbedHeaderData[5].ToString();

        Console.WriteLine(TicketID);
        Console.WriteLine(Status);
        Console.WriteLine(URL);
        Console.WriteLine(InitCats);
        Console.WriteLine(PostRevCats);
        Console.WriteLine(ListNumClosed);
        Console.ReadLine();
    }
}

exemple de données (délimité par des tabulations) :
TicketID Status URL InitCats PostRevCats ListNumClosed 555555 Fermé http://5555555.com/searcho Sites malveillants 55555

0voto

Nainesh Patel Points 38

Si vous ne voulez pas utiliser Regex (certaines plates-formes de questions d'interview ne permettent pas l'utilisation de Regex) et Char.IsDigit(info[0]) ,

Vous pouvez utiliser if(info[0] => 0 && info[9] <= 9) pour vérifier si le caractère est numérique ou non.

Cela dépend des besoins si vous ne voulez pas envisager de '.' en tant que chiffre (pour les valeurs entières uniquement), n'utilisez pas l'option Char.IsDigit(info[0]) puisque cette fonction renvoie true para '.'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X