Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1140 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Comparaison de deux mots

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison de deux mots

n°2021853
SKyba
Posté le 08-09-2010 à 14:33:15  profilanswer
 

Bonjour, je débute en Perl et j'aimerais utiliser une fonction qui renvoie le nombre de lettres différentes entre deux chaînes.
 
Par exemple :
dupont - dupond : renvoirait 1
lumiere - laniere : renvoirait 2
appeler - apeler : renvoirait 1
 
Vous m'avez compris  :)  
J'ai beau chercher sur internet, je n'ai pas trouvé.
IMPORTANT :  Les chaînes à comparer sont composées de lettres, mais il peut y avoir d'autres caractères (pas de \n). Ils sont traîtés également.
 
Merci de votre aide!!

mood
Publicité
Posté le 08-09-2010 à 14:33:15  profilanswer
 

n°2021854
flo850
moi je
Posté le 08-09-2010 à 14:47:11  profilanswer
 

tu as regardé du côté de la distance de leveinstein ?

n°2021857
SKyba
Posté le 08-09-2010 à 14:56:51  profilanswer
 

Merci, ceci répond à ma question :).
Elle est trouvable ici : http://www.mgilleland.com/ld/ldperl2.htm
 
Je suis quand même étonné que Perl n'offre pas plus simple, vu  que le traitement des chaines de caractères est sa spécialité..

n°2021860
gilou
Modérateur
Modzilla
Posté le 08-09-2010 à 15:12:20  profilanswer
 

Comme toujours avec perl, il fallait voir sur CPAN s'il n'y avait pas un module ad-hoc, et miracle, on en trouve deux: Text::Levenshtein qui l'implémente en pur perl, et Text::LevenshteinXS qui l'implémente plus efficacement avec un module compilé.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2021861
rufo
Pas me confondre avec Lycos!
Posté le 08-09-2010 à 15:16:51  profilanswer
 

http://en.wikipedia.org/wiki/Bitap_algorithm
Si t'as besoin de compter les insertions/suppressions, -> distance de leveinstein.
Si tu veux compter que les substitutions (donc des mots de même longueur) -> distance de Hamming.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2021873
gilou
Modérateur
Modzilla
Posté le 08-09-2010 à 15:31:59  profilanswer
 

Heu, on a Hamming (nb de substitutions) cas particulier de Leveinstein (nb de substitutions et d'insertions/suppressions) cas particulier de Wagner-Fischer (un poids particulier pour l'égalité, la substitution et l'insertion/suppression) et de Brew (pas de poids pour l'égalité, des poids particuliers pour la substitution, l'insertion et la suppression).
Il y en a d'autres: Jaro, Jaro-Winkler, qui sont un peu des distances inversées: plus la distance augmente, plus les chaines se ressemblent.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Comparaison de deux mots

 

Sujets relatifs
comparaison de mots clés[Résolu][Batch] Comparaison chaines de caractères
comparaison caractèresje coince sur une comparaison de nombres
mots clés & visual cpp[HS] ligne
Comparaison de chaines de caracteres dans 2 listes en VBARécupérer les mots séparés par des espaces dans une chaîne de char....
Problème de comparaison de mots de passe MySQL"Résolu" Ignorer les espaces lors d'une comparaison de mots
Plus de sujets relatifs à : Comparaison de deux mots


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR