如果向量中的任何字符串包含子字符串,是否有一种有效的方法来执行函数?
沿着这些方向的东西
if(vector.contains(strstr(currentVectorElement,"substring"))) {
//do something
}
if(vector.contains(strstr(currentVectorElement,"substring2"))) {
//do something else
}
我唯一能想到的是迭代每个字符串并检查子字符串是否存在。
答案 0 :(得分:5)
您可以将std::find_if
与lambda表达式
if(std::find_if(vec.begin(), vec.end(), [](const std::string& str) { return str.find("substring") != std::string::npos; }) != vec.end()) {
...
}
答案 1 :(得分:1)
你需要的是std :: search()