gpt4 book ai didi

c++ - 在 C++ 中查找 vector 中的字符串

转载 作者:行者123 更新时间:2023-11-27 22:54:49 25 4
gpt4 key购买 nike

我有一个字符串 vector ,我想从 vector 中返回一个类似于字符串的字符串。

例如 vector 包含:“load”、“fox”、“google”、“firefox”,字符串是:“mozilla firefox”。此示例中的真实结果是“firefox”。

我使用下面的代码,但它是错误的,并为我的示例返回“fox”。

vector<string>::const_iterator it_found = find_if(MyVector.begin(), MyVector.end(), [&MyString](string s) -> bool 
{ return( MyString.find(s) != string::npos ); });

if(it_found != MyVector.end())
{
//Do Somthing
}

我该怎么办?

最佳答案

您将返回第一个字符串,该字符串是您的搜索词的子字符串。您似乎想要最佳匹配,因此需要更复杂的方法。您可以计算一些分数匹配有多好,并找到给出最高分数的元素,例如使用 std::max_element

分数可能只是匹配子串的长度,如果您稍后改进匹配算法,也可能是更复杂的东西。

关于c++ - 在 C++ 中查找 vector 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34282578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com