Page 1 sur 1

[..] Comparer 2 variables

Posté : mer. 13 avr. 2011 18:27
par ethneldryt
Bonjour, je demande car je ne trouve pas de fonction string pour faire cela.

$var1 = "ABCDE"
$var2 = "ACDE"

Il y a 2 vars, dans la deuxième, il y a le B en moin, je cherche donc a afficher ce qui a disparue, du genre :

$resultat = fonction("ABCDE","ACDE")

La variable $resultat contiendrai "B".
Merci

Re: [..] Comparer 2 variables

Posté : mer. 13 avr. 2011 19:53
par jchd
Si tu ne tiens compte que des suppressions de lettres, c'est éventuellement jouable avec une ou plutôt des regexp.
Par contre si tu envisage toutes les possibilités (manque, ajout, échange, interversion) alors là je te conseille d'étudier la fonction ci-dessous et de l'adapter à ton besoin particulier. Désolé pour mes commentaires en anglais.

D'une manière générale, la comparaison de chaînes est un problème complexe.
► Afficher le texte

Re: [..] Comparer 2 variables

Posté : mer. 13 avr. 2011 20:09
par ethneldryt
Salut et merci. en effet, il y aura qu'une lettre qui disparaitra a chaque fois, mais je ne sais comment faire.

Re: [..] Comparer 2 variables

Posté : mer. 13 avr. 2011 21:06
par sylvanie
Dans ce cas on peut envisager ceci
► Afficher le texte

Re: [..] Comparer 2 variables

Posté : mer. 13 avr. 2011 23:09
par jchd
Attention sylvanie, tu éjectes un _set_ de la chaîne sujet. Tu présupposes qu'il n'y a pas de répétition possible dans l'entrée, ce qui n'est pas forcément adapté dans le cas présent.

Code : Tout sélectionner

$var1 = "ABCADE"
$var2 = "ABCDE"
et la suppression du second A de $var1 passe inaperçue. Oooups ou pas, c'est à ethneldryt de le dire.
Sinon, on fait ça :

Code : Tout sélectionner

ConsoleWrite('On a perdu un ' & yaplus('ABCABCDEF', 'ABCBCDEF') & @LF)

Func yaplus($sRef, $sTest)
    Local $sMatch, $iLen = StringLen($sTest)
    For $i = 1 To $iLen
        If StringLeft($sRef, $i) <> StringLeft($sTest, $i) Then ExitLoop
    Next
    Return StringMid($sRef, $i, 1)
EndFunc
 

Re: [..] Comparer 2 variables  

Posté : jeu. 14 avr. 2011 10:12
par sylvanie
Tout à fait d'accord.
D'après ce qui était exposé, j'avais effectivement compris que les chaînes ne comportaient pas de répétition.

Re: [..] Comparer 2 variables

Posté : jeu. 14 avr. 2011 11:50
par jchd
Tu sais, à mon âge avancé de soixantenaire aigri je suis presque liquide et devenu méfiant de tout :mrgreen: