std::vector<std::string> splitString(std::string srcStr, std::string delimStr, bool repeatedCharIgnored)
{
std::vector<std::string> resultStringVector;
std::replace_if(srcStr.begin(), srcStr.end(),
[&](const char& c)
{
if (delimStr.find(c) != std::string::npos)
{
return true;
}
else
{
return false;
}
}/*pred*/, delimStr.at(0));
srcStr.erase(std::remove_if(srcStr.begin(), srcStr.end(), [](unsigned char x) {return x == '\"'; }), srcStr.end());
size_t pos = srcStr.find(delimStr.at(0));
std::string addedString = "";
while (pos != std::string::npos)
{
addedString = srcStr.substr(0, pos);
if (!addedString.empty() || !repeatedCharIgnored)
{
resultStringVector.push_back(addedString);
}
srcStr.erase(srcStr.begin(), srcStr.begin() + pos + 1);
pos = srcStr.find(delimStr.at(0));
}
addedString = srcStr;
if (!addedString.empty() || !repeatedCharIgnored)
{
resultStringVector.push_back(addedString);
}
return resultStringVector;
}