У меня есть QHash
, определенный следующим образом
QHash<QString, QString> hashLookup;
Я вставил несколько значений в этот хэш следующим образом:
hashLookup.insert("OMG", "Oh my God!");
hashLookup.insert("LOL", "Laugh out loud");
hashLookup.insert("RIP", "Rest in peace");
// and so on
У меня есть несколько QStrings следующим образом:
QString a = "OMG_1";
QString b = "LOL_A";
QStirng c = "OMG_YOU";
QString d = "RIP_two";
Я должен найти, существуют ли эти значения в hashLookup
, то есть, поскольку OMG_1
содержит OMG
, я должен получить Oh my God!
.
Я пытался сделать это с помощью
if(hashLookup.contains(a)
//do something
который, конечно, пытается найти ключ OMG, которого нет в таблице поиска, и ничего не возвращает. Возможно ли частичное совпадение значений ключей в Qt? Если да, то как мне это реализовать.
qHash("OMG") != qHash("OMG_1")
. Вы хотите использовать QMap, std::map с компаратором, подобным тому, что предложил Кирилл Черников. - person UmNyobe   schedule 10.06.2016