Skip to content

Instantly share code, notes, and snippets.

@garethlewin
Created June 18, 2013 00:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save garethlewin/5801588 to your computer and use it in GitHub Desktop.
Save garethlewin/5801588 to your computer and use it in GitHub Desktop.
inline std::vector<std::pair<std::wstring, std::wstring>> GetURLTokens(std::wstring input)
{
std::vector<std::pair<std::wstring, std::wstring>> result;
auto tokenStartPos = input.find_first_of(L"?#");
while (tokenStartPos != std::string::npos)
{
tokenStartPos++;
auto tokenEndPos = input.find(L"=", tokenStartPos);
if (tokenEndPos != std::string::npos)
{
std::pair<std::wstring, std::wstring> tokenPair;
tokenPair.first = input.substr(tokenStartPos, tokenEndPos-tokenStartPos);
tokenStartPos = tokenEndPos+1;
tokenEndPos = input.find(L"&", tokenStartPos);
tokenPair.second= input.substr(tokenStartPos, tokenEndPos-tokenStartPos);
result.push_back(tokenPair);
}
tokenStartPos = tokenEndPos;
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment