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

Algorithmes et structures de données Discussion :

Mise en évidence des différences entre 2 textes


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 35
    Points : 23
    Points
    23
    Par défaut Mise en évidence des différences entre 2 textes
    Quelqu'un connait-il un algorithme permettant de détecter les différences entre 2 chaines afin de les mettres en évidences ?

    Exemple :

    Original :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Maître Corbeau, sur un arbre perché,
    Tenait en son bec un fromage.
    Maître Renard, par l'odeur alléché,
    Lui tint à peu près ce langage :
    "Hé ! bonjour, Monsieur du Corbeau.
    Que vous êtes joli ! que vous me semblez beau !
    Sans mentir, si votre ramage
    Modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Maître Corbeau, sur un arbre perché,
    Tenait en son bec un fromage.
    Et en plus c'était du fromage de chèvre !
    Maître Renard, par l'odeur alléché,
    Lui tint à peu près ce langage avec un accent canadien:
    "Hé ! bonjour, Monsieur du Corbeau.
    Que vous êtes joli ! que vous me semblez beau !
    Sans mentir, si votre ramage
    résultat pouvant être obtenu par l'algorithme :

    Maître Corbeau, sur un arbre perché,
    Tenait en son bec un fromage.
    Et en plus c'était du fromage de chèvre !
    Maître Renard, par l'odeur alléché,
    Lui tint à peu près ce langage avec un accent canadien:
    "Hé ! bonjour, Monsieur du Corbeau.
    Que vous êtes joli ! que vous me semblez beau !
    Sans mentir, si votre ramage

  2. #2
    Membre éclairé
    Avatar de Edouard Kaiser
    Profil pro
    Inscrit en
    février 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : février 2004
    Messages : 521
    Points : 756
    Points
    756
    Par défaut
    Si ces textes sont stockés dans deux tableaux différents, il suffirait de les parcourir chacun séquentiellement en parallèle et de comparer chaque caractère. Des qu'un caractère change, tu le met en évidence.
    Enfin je sais pas, je vois ça peut etre d'un oeil trop simpliste.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    ça ne marchera pas... je pense , regarde

    original : "ceci est le texte original. Et oui !"
    modifié : "ceci est original voyez vous. Et oui !"

    avec ta proposition on aurait :

    "ceci est original voyez vous. Et oui !"

    alors qu'il faudrait :

    "ceci est original voyez vous. Et oui !"

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 1 946
    Points : 2 209
    Points
    2 209
    Par défaut
    Regarde l'alogorithme de Levenshtein qui calcule la distance entre deux chaînes, de façon constructive (c'est à dire que tu peux retrouver explicitement les modifications qui permettent de passer d'un texte à l'autre).

    Le code avait été publié dans un des forums en PL/SQL, je ne le retrouve pas, mais il est très facile à coder.

    Attention : gourmand en CPU !
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. [Plugin] Mise en évidence des (parenthèse) et {accolade}
    Par LLaumgui dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 24/06/2013, 10h28
  2. mise à jour massive des tables entre 2 bases oracle
    Par rihojaniero dans le forum Oracle
    Réponses: 1
    Dernier message: 13/10/2006, 09h22
  3. Réponses: 4
    Dernier message: 06/09/2006, 13h53
  4. Mise en évidence des discussions avec nouveaux messages
    Par Kcirtap dans le forum Evolutions du club
    Réponses: 16
    Dernier message: 20/04/2006, 18h55
  5. Différence entre deux textes
    Par Oberown dans le forum Langage
    Réponses: 2
    Dernier message: 16/02/2006, 12h39

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