Comparer deux strings

Fermé
Fab121205 Messages postés 81 Date d'inscription dimanche 26 juillet 2015 Statut Membre Dernière intervention 20 mars 2022 - 26 juin 2018 à 10:30
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 26 juin 2018 à 10:47
Bonjour, je me heurte à un problème. J'aurais besoin de comparer deux chaînes de caractères pour en resortir les mots en commun c'est à dire les mots contenus dans les deux strings. Est-ce que cela est possible sans passer par les expressions régulières avec preg_match sur chaque mot car si les strings sont longues cela prend trop de temps.

Merci Fab1205

1 réponse

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 juin 2018 à 10:45
Bonjour,

À vue d’œil, je dirais que le mieux est de faire un explode() sur chaque chaîne, de trier / enlever les doublons de tes tableaux résultants (et enlever les mots qui ne t'intéressent pas s'il y en a), puis parcourir les deux tableaux triés en parallèle.
Mais de toutes façons ce sera un traitement avec une complexité non négligeable : en O(n log n) du fait des tris.

Xavier
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 juin 2018 à 10:47
PS : si les chaînes sont vraiment longues tu pourrais également avoir des soucis en termes de mémoire... On doit pouvoir s'en sortir en écrivant les listes de mots triés et dédoublonnés dans des fichiers et en les lisant par parties...
0