Les Snippets

Connexion

Remplacement de doublon dans une chaine

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 05/09/2006 14:56:04 et initié par sebmafate [Liste]
Date de mise à jour : 08/09/2006 07:57:29
Vue : 7997
Catégorie(s) : Regex
Langages dispo pour ce code :
- C# 1.x, C# 2.x
- VB6, VBA
- VB6, VBA



Langage : C# 1.x , C# 2.x
Date ajout : 05/09/2006
Posté par sebmafate [Liste]
DateMAJ : 08/09/2006
// La regex est simple : ([sequence])\1+
// En remplaçant [sequence] par ce que vous voulez rechercher
// Par exemple, le code suivante recherche tous les chiffres en double
// (\d)\1+
// Celui-ci, toutes les lettres en double
// (\w)\1+
// Voici un bout de code permettant de remplacer tous les chiffres en double dans une chaine par un seul
string ret = Regex.Replace("1234444556667", @"(\d)\1+", "$1");
// Résultat : 1234567

Remarque :
NB: ne fonctionne que si la chaine d'entrée est triée et que les éléments identiques sont contigüs
Langage : VB6 , VBA
Date ajout : 07/09/2006
Posté par mortalino [Liste]
DateMAJ : 07/09/2006
Function SupprDoublons(ByVal sMaVar As StringAs String 
    Dim cNoDupes        As New Collection 
    Dim i               As Long 

' *** une collection n'ajoute pas de doublon,
'     il suffit d'occulter l'erreur durant le traitement
On Error Resume Next 
    For i = 1 To Len(sMaVar) 
        cNoDupes.Add Mid$(sMaVar, i, 1), Mid$(sMaVar, i, 1) 
    Next i 
On Error GoTo 0
 
'   buffer pour accélérer le retour
    SupprDoublons = Space(cNoDupes.Count) 

'   retour
    For i = 1 To cNoDupes.Count 
        Mid$(SupprDoublons, i, 1) = cNoDupes.Item(i) 
    Next i 

    Set cNoDupes = Nothing 
End Function 
'
'
' UTILISATION :
MsgBox SupprDoublons("11222333344444555555666666677777771234554321")
Langage : VB6 , VBA
Date ajout : 08/09/2006
Posté par PCPT [Liste]
Function SupprDoublons(ByVal sMaVar As StringAs String 
    SupprDoublons = vbNullString 

    Dim i&, sChar$ 
    For i = 1 To LenB(sMaVar) Step 2 
        sChar = MidB$(sMaVar, i, 2) 
        If InStr(1, SupprDoublons, sChar) = 0 Then SupprDoublons = SupprDoublons & sChar 
    Next i 
End Function


Snippets en rapport avec : Remplacement, Doublon



Codes sources en rapport avec : Remplacement, Doublon

{C# / C#.NET} REMPLACER UNE CHAINE COMPRISE ENTRE 2 BORNES
C'est une question que l'on nous pose régulièrement sur les forums : "Comment remplacer une chain...

{C / C++ / C++.NET} TXT SUPPRIMER LIGNES DOUBLONS (WIN32)
Demo pour cette question du forum: http://www.cppfrance.com/forum.v2.aspx?ID=1234830 Exe qui sup...

{Visual Basic, VB6, VB.NET, VB 2005} REPLACE IN FILE - REMPLACEMENTS MULTIPLES DES FICHIERS D'UN RÉPERTOIRE
[VB6] Petit utilitaire pour remplacer du texte par un autre, plusieurs remplacements en cascades pos...

{PHP} EXTRACTION/INSERTION DE CONDITIONS SQL DANS UNE REQUÊTE
Cette fonction permet de remplacer et/ou d'insérer des conditions SQL dans une requête. Cela est pr...

{SQL} REQUETE SUPPRESSION DE DOUBLON SOUS ORACLE
Cette requête SQL permet de supprimer les doublons d'une table sous n'importe quelle condition exemp...

{Flash} DÉCODER DES CODES HTML PARMIS D'AUTRES ! (AS2)
Imaginons que nous ayons un texte (issu d'un xml par exemple) contenant des balises html du style e...

{SQL} REQUETE SUPPRESSION DE DOUBLON
Cette requete SQL permet de supprimer les doublons d'une table sur un champ. Une seule exécution su...

{Flash} EFFET DE TEXTE EN REMPLAÇANT UN AUTRE
Voir fla ci-joit....

{Visual Basic, VB6, VB.NET, VB 2005} EXTRAIRE DES NOMBRES ALÉATOIRES SANS DOUBLONS
Bon, c'est un truc à quatre sous espagnols, mais l'ouverture d'un récent sujet me donne à penser qu'...

{Visual Basic, VB6, VB.NET, VB 2005} TRIEUR DE DOUBLONS
Ce programme tri des doublons. Vous indiquez quelle Base de Données est à trier (Access ou Excel pou...