Skip to content

Instantly share code, notes, and snippets.

@tsathis
Last active August 2, 2018 06:10
Show Gist options
  • Save tsathis/58600f5a4f63463383e2efe31ec92158 to your computer and use it in GitHub Desktop.
Save tsathis/58600f5a4f63463383e2efe31ec92158 to your computer and use it in GitHub Desktop.
Fuctions for quick use
/**
* Delete White Spaces
* @param str The input string which contains white spaces
* @return The output string which does not contain white spaces
*/
string delSpaces(string &str)
{
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
return str;
}
/**
* Returns a vector of strings, by splitting the input string by whitespaces
* @param input_string the input string which contains white spaces
* @return string vector contains splitted words
*/
vector<string> split_string(string input_string) {
string::iterator new_end = unique(input_string.begin(), input_string.end(), [] (const char &x, const char &y) {
return x == y and x == ' ';
});
input_string.erase(new_end, input_string.end());
while (input_string[input_string.length() - 1] == ' ') {
input_string.pop_back();
}
vector<string> splits;
char delimiter = ' ';
size_t i = 0;
size_t pos = input_string.find(delimiter);
while (pos != string::npos) {
splits.push_back(input_string.substr(i, pos - i));
i = pos + 1;
pos = input_string.find(delimiter, i);
}
splits.push_back(input_string.substr(i, min(pos, input_string.length()) - i + 1));
return splits;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment