Я пытаюсь понять, как проверить некоторые ключевые слова в строке. В этом случае. Я получаю строку из файла и сохраняю ее во временную строку. У меня есть массив строк с типом ключевых слов, которые я ищу. Например, два ключевых слова — начало и конец, кроме множества операторов if для проверки каждого символа, есть ли другой способ сделать это?
Мои проблемы заключаются в том, что если и что я получу за каждое имеющееся у меня ключевое слово, то я хочу более эффективный способ сделать это.
C ++
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
std::string input{"apple double banana int float chimpanzee"};
std::vector<std::string> keywords{"double", "int", "float", "switch"};
for(const auto& keyword : keywords)
{
auto pos = input.find(keyword);
std::cout << keyword
<< " [" << (pos == std::string::npos ? " not found" : " found") << "]\n";
}
return 0;
}
Других решений пока нет …