Program to Parse a comma separated string in C++
Given a comma-separated string, the task is to parse this string and separate the words in C++.
Examples:
Input: "1,2,3,4,5"
Output:
1
2
3
4
5
Input: "Geeks,for,Geeks"
Output:
Geeks
for
Geeks
Approach:
- Get the string in stream – stringstream
- Create a string vector to store the parsed words
- Now till there is a string in stringstream, checked by good() method,
- Get the substring if the string from starting point to the first appearance of ‘, ‘ using getline() method
- This will give the word in the substring
- Now store this word in the vector
- This word is now removed from the stream and stored in the vector
Below is the implementation of the above approach:
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str = "1,2,3,4,5,6" ;
vector<string> v;
stringstream ss(str);
while (ss.good()) {
string substr;
getline(ss, substr, ',' );
v.push_back(substr);
}
for ( size_t i = 0; i < v.size(); i++)
cout << v[i] << endl;
}
|
Time Complexity: O(N), as we are using a single loop to iterate over the entire string.
Auxiliary Space: O(N), as we are storing all the tokens in a vector.
Last Updated :
22 Dec, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...