|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 6 ![]() |
Bonjour tout le monde.
J'aimerais savoir s'il est possible de comparer deux std::string entre elles mais pouvant être considérés comme égales même si un caractère (variable) diffère. Par exemple : tant que l'on à cet expression "test(X)" ou X peut prendre n'importe quelle expression (test(5), test(u), test(µ)...), alors cette expression est considéré comme égale à un autre std::string qui n'a pas ce même caractère X. Ex : "test(a)" == "test(b)" est vrai. J'espère que vous m'avez bien compris Merci d'avance. |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() |
Si tu veux une comparaison avec jokers, tu vas devoir la coder toi-même ou prendre une bibliothèque qui fait ça: la bibliothèque du C++ ne le fait pas.
D'un autre coté, ça ne doit pas être trop dur: Code C++ :
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant. "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?" Apparently everyone. -- Raymond Chen. Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen. |
||
|
|
00
|
|
|
#3 |
![]() ![]() Cyrille Network programmer Inscription : juin 2010 Messages : 1 543 ![]() |
Bonsoir,
une simple utilisation de string::compare pourriat s'il s'agit de vérifier qu'une partie des chaines sont identiques. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 6 ![]() |
Merci pour vos réponses !
La fct equal_wildcards marche très bien mais finalement je me suis rendu compte que string::compare fesait l'affaire |
|
|
00
|
|
|
#5 |
![]() ![]() Loïc JolyDéveloppeur informatique Inscription : août 2004 Messages : 4 674 ![]() |
Tu as maintenant en standard en C++ une bibliothèque d'expressions régulières, qui te permet très facilement de vérifier ce genre de choses. C'est dans le header <regex>.
Si ton compilateur est trop vieux pour la fournir, tu peux regarder dans boost.regex
__________________
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com