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 :

Supprimer un doublon dans un string [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Par défaut Supprimer un doublon dans un string
    Bonjour,

    Je recherche comment je pourrais supprimer un doublon contenu dans une chaine de caractères, par exemple j'ai:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    string str = "je rechercheje recherche";

    et je souhaiterais que str contienne uniquement "je recherche".

    Mais sachant que dans mon cas les mots sont collés je ne vois pas trop comment m'y prendre. Sûrement avec des expressions régulières mais je ne sais pas trop comment m'y prendre malheureusement.

  2. #2
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Ce n'est pas un problème facile car pour des raisons de complexité (au sens algorithmique), la viabilité d'une solution regex simple va dépendre:
    • de la taille de la chaîne de départ.
    • si la répétition occupe toute la chaîne (comme dans ton exemple) ou s'il ne peut s'agir que d'une partie de la chaîne
    • du nombre de mots/lettres minimum et maximum de la partie répétée.
    • si la répétition est toujours agglutinée à la première partie ou si elle peut en être séparée par exemple avec un espace.


    Mise à part ces questions essentielles: As-tu déjà essayé quelque chose? (si oui poste le) Et as-tu attaqué un tutoriel sur les regex? (histoire de savoir de quoi on parle).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Par défaut
    Non je n'ai encore rien essayé, car comme je le dit je ne sais pas par où attaquer ce problème.

    Après oui j'ai commencé un peut à potasser les expressions régulières, dans l'espoir de trouver une solution, mais si je peut être aiguillé ça m'aiderais grandement.

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Ok, et qu'en est il des points précédents?

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    d'où provient le doublon ?
    ca peut aider à trouver une solution

    s'il n'y a pas de règle en amont, ca sera dure de faire une règle en aval ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Par défaut
    En fait il s'agit de plusieurs entrées dans un fichier texte, et sur certaines lignes j'ai un doublon qui fait que la ligne se répète, mais qu'une seule fois, et sans espace (exactement comme dans mon premier post).

    Pour les points suivants:

    de la taille de la chaîne de départ.
    La taille est variable.

    si la répétition occupe toute la chaîne (comme dans ton exemple) ou s'il ne peut s'agir que d'une partie de la chaîne
    La répétition occupe toute la chaîne comme dans mon exemple.

    du nombre de mots/lettres minimum et maximum de la partie répétée.
    Une seule répétition par ligne.

    si la répétition est toujours agglutinée à la première partie ou si elle peut en être séparée par exemple avec un espace.
    La répétition est toujours agglutinée à la première partie.

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

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. supprimer un char dans un String
    Par raph707 dans le forum Langage
    Réponses: 11
    Dernier message: 30/01/2007, 22h55
  3. [String] supprimer un espace dans un String
    Par Zanton dans le forum Langage
    Réponses: 5
    Dernier message: 13/07/2006, 15h33
  4. [Collections]Supprimer des doublons dans une ArrayList
    Par emie31 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/12/2005, 15h15
  5. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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