Extraire les différences entre chaine 2 et chaine 1.
Je connais les méthodes "StartsWith", "Contains" et Compare mais ce que je veux c'est la comparaison caractère par caractère et isoler les différences (-,/,PML)
Plutôt que de faire un truc dans un coin tout moisi, pensez à faire des fonctions d'extensions, même si vos spécifications sont toutes pétées.
En voici une qui correspond à vos "spécification" :
public static IEnumerable<Tuple<uint, string, string>> CompareChelou(this IEnumerable<char> seqA, IEnumerable<char> seqB)
{
bool hasValueA, hasValueB;
uint indexer = 0;
using (var iteratorA = seqA.GetEnumerator())
using (var iteratorB = seqB.GetEnumerator())
{
do
{
hasValueA = iteratorA.MoveNext();
indexer++;
hasValueB = iteratorB.MoveNext();
if (hasValueA | hasValueB)
{
char a = hasValueA ? iteratorA.Current : default(char);
char b = hasValueB ? iteratorB.Current : default(char);
if (a != b)
{
var diff = new StringBuilder();
if (b != default(char))
{
while (hasValueB && (a != b))
{
diff.Append(b);
hasValueB = iteratorB.MoveNext();
b = hasValueB ? iteratorB.Current : default(char);
}
}
yield return new Tuple<uint, string, string>(indexer - 1, a.ToString(), diff.ToString());
}
}
} while (hasValueA || hasValueB);
}
}
Cela donne un tuple donnant l'index de la différence, le caractère recherché dans la 1ère chaine et la liste des caractères qui sont différents dans la 2ème chaine.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
comparaison de deux strings
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Je pensais procéder comme ça . Vous en pensez quoi?