J'ai deux chaines de caracteres.
Comment connaître les ajouts et les choses en moins par rapport aux deux ?
Par exemple
Etmot 1 mot2
Voir le fait qu'il y a motnouveau en plus ?mot 1 motnouveau mot2
Merci
J'ai deux chaines de caracteres.
Comment connaître les ajouts et les choses en moins par rapport aux deux ?
Par exemple
Etmot 1 mot2
Voir le fait qu'il y a motnouveau en plus ?mot 1 motnouveau mot2
Merci
Tu peux créer un tableau dans lequel tu stockes les valeurs, ici c'est des chaînes de caractères, et ensuite tu créer une boucle qui lit les mots les uns après les autres et qui les compare avec les éléments du tableau.
tu peux decomposer ton probleme en deux etapes.
1. tu regardes le prefixe commun a tes deux chaines. Pour ca rien de plus simple , tu lis en parallele tes deux chaines, et tu recuperes la suite de chacune des deux chaines de caracteres. dans ton cas tu aurais mot2 et nouveaumot mot2
2. tu regardes tout ce qu'il y a avant ta premiere chaine de caractere dans ta seconde chaine de caracteres, c'est a dire dans ton exemple, tu recherches tout ce qu'il y a avant mot2 dans nouveaumot mot2. Pour cela, il te suffit de rechercher ta premier chaine de caractere dans ta seconde en stockant la chaine de caractere se trouvant avant.
J'ai fait une hypothese pour le point deux, celle que ta seconde chaine de caractere est simplement le meme que la premiere dans laquelle ont a insere un mot, si tu veux savoir si en fait la premiere est un sous-mot de la seconde, c'est a dire que tu peut rajouter n'importe quelle caractere entre chaque caratere de la premiere chaine pour obtenir ta seconde. Le principale, c'est que les caracteres de la premiere chaine apparaissent tous dans ta seconde et dans le bon ordre.
Si en fait ce que tu cherches correspond plutot a la notion de sous-mot, google t'apportera tout ce que tu cherches.
Recherche "Levenshtein distance" et "edit distance".
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
"Levenshtein distance" et "edit distance". donne une valeur de ressemblance et non les différenteces.
Je vais changer mes hypothèses de départs.
Je veux comparer chaque ligne et savoir si une ligne a été modifié, nouveau ou enlevé.
Donc je décompose mes deux chaines de carateres en tableau où chaque case contient une ligne, et il faut que je les compare. Mais j'avoue que je m'embrouille.
Regarde les algorithmes employés par l'utilitaire "diff", c'est exactement ce que tu cherches.
--
Jedaï
Cette distance est définie comme étant le nombre d'éditions élémentaires à faire pour transformer une chaîne en une autre (avec des variantes sur les éditions permises). Il est aisé de modifier l'algorithme pour avoir non seulement le nombre d'édition, mais aussi quelles éditions faire.Envoyé par Oberown
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager