IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Format de chaine String [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut Format de chaine String
    Hola petite question simple,

    j'aime vérifier qu'une chaîne de caractère respecte un certain format du style " S-XXX-C-XXX_xxxxxx_XXXX";

    Les X étant des chiffres ou des lettres.

    Merci beaucoup

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 440
    Par défaut
    Bonjour,
    Quand je cherche à vérifier si une chaine respecte un certains format, je pense tout de suite à une regex.
    Par contre je n'ai jamais su les générer tout seul (il faut vraiment que je m'y mette), mais il existe des sites tout fait pour ça, par exemple celui-ci (le premier que j'ai trouvé, il y en a d'autres).

    Tatayo.

  3. #3
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut
    Salut,
    en effet j'ai déjà fait le regex qui vérifie par exemple s'il y le S- puis un autre qui vérifie s'il y'a le -C- mais j'aimerai quelque chose de plus optimisé et qui remplisse mes conditions...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Le Regex et les expressions régulières vont t'y aider :
    https://docs.microsoft.com/fr-fr/dot...tframework-4.8

  5. #5
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut
    Je pensais me servir de ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    S-[\d]{3}-C-[\d]{3}_[a-zA-Z]_[\d]{3}
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    S-[\d]{3}-C-[\d]{3}_[\w]_[\d]{3}
    j'ai aucune idée de comment gérer ça ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
       class Program
        {
            static void Main(string[] args)
            {
                //string test = "S-XXX-C-XXX_xxxxxx_XXXX";
                string test = "S-12f-C-2E3_xxxxxx_a00X";
     
                string pattern = @"\AS-\w{3}-C-\w{3}_x{6}_\w{4}\z";
     
                Regex rgx = new Regex(pattern);
                Match m = rgx.Match(test);
     
                Console.WriteLine(m.Value);
            }
        }
    Précise ce que tu veux faire exactement comme contrôle.

  7. #7
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut
    Pardon , déjà merci pour la réponse.

    Je souhaitais vérifié que le format du nom de fichier ai le même pattern que celui du pattern sinon je supprime le fichier

    Ça marche du coup donc merci voilà la solution cependant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    private static void Main(string[] args)
            {
     
                var test = "S-458-C-236_4xd_598";
     
                var pattern = @"S-[\d]{3}-C-[\d]{3}_[\w]{3}_[\d]{3}";
     
     
                var rgx = new Regex(pattern);
                var m = rgx.Match(test);
     
                if (m.Success)
                {
                    Console.WriteLine("SUCCESS PATTERN FOR  " + m.Value);
                }
                else
                {
                    Console.WriteLine("ERROR PATTERN");
                }
     
            }
    La je précise le nombre d'argument que j'attend, serait-t'il possible de juste préciser que j'attend quelque chose sans forcément un nombre défini ou alors est il possible de limiter ?

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    La je précise le nombre d'argument que j'attend, serait-t'il possible de juste préciser que j'attend quelque chose sans forcément un nombre défini ou alors est il possible de limiter ?
    Tu peux préciser ta pensée ?

  9. #9
    Membre confirmé
    Homme Profil pro
    BAC +3
    Inscrit en
    Octobre 2018
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : BAC +3

    Informations forums :
    Inscription : Octobre 2018
    Messages : 164
    Par défaut
    Oui de suite

    Voilà un exemple de nom de fichier:
    S-459-C-785_TestAluminium_568
    S-459-C-785_TestCarbone_568

    Le texte entre les deux "_" n'ont pas tout les deux le même nombre de caractères. Or les deux ont le bon format.
    Je veux que ces espaces de texte entre les underscores soient libres et donc flexible.s

    Ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "S-[\d]{3}-C-[\d]{3}_[\w]{3}_[\d]{3}"
    Le "_[\w]{3}_" oblige seulement trois caractères. J'aimerai avoir une indication de comment devenir flexible sur l'élément "_[\w]_".
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "S-[\d]{3}-C-[\d]{3}_[\w]{n}_[\d]{3}"
    // ou 
    "S-[\d]{3}-C-[\d]{3}_[\w]_[\d]{3}"
    // Sauf que ces deux solutions ne marchent pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [String] formater une chaine avec un tableau d'argument
    Par jakouz dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 14/04/2006, 15h19
  2. Déterminer le bon format d’une chaine de cartactère
    Par SchpatziBreizh dans le forum Langage
    Réponses: 8
    Dernier message: 05/08/2005, 08h17
  3. [Compilation] Chaine string Tres tres longues
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 20/07/2005, 11h20
  4. [C#] Rassembler les chaines ( string )
    Par smyley dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/01/2005, 18h27
  5. [langage] cherche script pour formater une chaine
    Par MASSAKA dans le forum Langage
    Réponses: 7
    Dernier message: 12/11/2003, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo