/** * @brief 按照指定的字符串截取字符串 * @param str 需要截取的字符串 * @param pattern 按照该字符串截取 * @return 截取好的字符串vector */
std::vector<std::string> splitStr(std::string str, std::string pattern)
{
std::string::size_type pos;
std::vector<std::string> result;
//扩展字符串以方便操作
str += pattern;
int size = str.size();
for (int i = 0; i < size; i++)
{
pos = str.find(pattern, i);
if (pos < size)
{
std::string s = str.substr(i, pos - i);
result.push_back(s);
i = pos + pattern.size() - 1;
}
}
return result;
}
/** * @brief 按照指定的字符截取字符串 * @param str 需要截取的字符串 * @param pattern 按照该字符截取 * @return 截取好的字符串vector */
std::vector<std::string> splitStr(std::string str, char pattern)
{
// 扩展字符串,方便后面进行操作
str.push_back(pattern);
std::vector<std::string> result;
auto iter = str.cbegin();
auto iter2 = iter;
for (iter; iter != str.cend(); ++iter)
{
if (*iter == pattern)
{
result.push_back(string(iter2, iter));
iter2 = iter + 1;
}
}
return result;
}