如何在集合中的特定字符串中查找子字符串

How to Find a Substring in a Particular String in a Set

本文关键字:字符串 查找 集合      更新时间:2023-10-16

如何在集合中的字符串中找到子字符串?例如,如果我输入"Ville",那么会找到路易斯维尔、盖恩斯维尔和穆勒维尔?我尝试了以下代码

for(string const& search : cities)
{
if(find(search.begin(), search.end(), str) != std::string::npos)
{
string y = search;
employees.emplace_back(y);

,但我无法弄清楚我的语法出了什么问题。此代码用于以下项目(项目代码(

编辑:我的问题很简单,通过使用.begin((和.end((迭代多映射name_address并使用.substr查找每个名称来修复。我还使用了多映射而不是集合。我发现语法更容易并让它工作。

for(auto it = name_address.begin(); it != name_address.end(); ++it)
{
for(int i = 0; i < it->first.length(); ++i)
{   
string tmpstr3 = it->first.substr(0 + i, str.length());
if(str == tmpstr3)
{
employees.insert(it->second);
break;
}
}
}   

您可能正在寻找

if (search.find(str) != std::string::npos)

您拥有的std::find调用不应编译。