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
// C++ program to parse a comma-separated string #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; } |
Output:
1 2 3 4 5 6
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.
Please Login to comment...