查找包含子字符串的字符串向量中的所有元素
Find all elements in a vector of strings that contain a substring
我有一个包含很多字符串的向量。
v[0] = "Agra"
v[1] = "Amritsar"
v[2] = "Bombay"
v[3] = "Bangalore"
现在我想要的是以一个或多个特定字母开头的所有字符串。
例如:如果输入的字母是 B
那么我应该得到所有以 B
开头的字符串。
如果输入字母是 BO
那么所有以 BO
开头的字符串
除了顺序迭代向量还有什么方法吗?
您可以使用 std::copy_if
.
std::vector<std::string> v_source = { ... };
std::vector<std::string> v_destination;
std::copy_if(v_source.begin(),
v_source.end(),
std::back_inserter(v_destination),
[](std::string const& s) { return (s.size() > 0 && s[0] == 'B'); });
您可以使用trie结构树来存储数据。
我有一个包含很多字符串的向量。
v[0] = "Agra"
v[1] = "Amritsar"
v[2] = "Bombay"
v[3] = "Bangalore"
现在我想要的是以一个或多个特定字母开头的所有字符串。
例如:如果输入的字母是 B
那么我应该得到所有以 B
开头的字符串。
如果输入字母是 BO
那么所有以 BO
除了顺序迭代向量还有什么方法吗?
您可以使用 std::copy_if
.
std::vector<std::string> v_source = { ... };
std::vector<std::string> v_destination;
std::copy_if(v_source.begin(),
v_source.end(),
std::back_inserter(v_destination),
[](std::string const& s) { return (s.size() > 0 && s[0] == 'B'); });
您可以使用trie结构树来存储数据。