3 Examples to Split String in C++ by Comma and Space
How to split string in C++?
In this tutorial, we will show you ways of splitting a string by comma and space in C++.
There are different ways you can achieve this task.
Using stringstream and getline() function to split string
We can use getline() function and stringstream to split strings in C++. First, have a look at the following C++ program and then I will explain how it worked:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <iostream> #include <sstream> using namespace std; int main() { string str_Spl, str_piece; //String to split str_Spl = "C++ is cool program language, love it!"; //Creating an object of stringstream stringstream obj_ss(str_Spl); cout <<"Source String to Split: " <<str_Spl << "\n\n"; // getline() function to go through source string until it is finished. while (getline(obj_ss, str_piece, ' ')) { cout << str_piece << endl; } return 0; } |
Output:
You can see, the above string is split by a space delimiter. So, how it worked?
- We associated a string object (str_Spl) to stringstream. Stringstream allows reading from the string.
- The getline() is used. It takes three parameters including the delimiter. There you may specify a space, comma, or any other desired character that you want to split a string.
- You may learn more about getline() function in its tutorial.
Using comma as delimiter to split strings in C++
The program below splits the string by comma delimiter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <iostream> #include <sstream> using namespace std; int main() { string str_Spl, str_piece; //String to split str_Spl = "Banana,Mango,Apple,Grapes"; //Creating an object of stringstream stringstream obj_ss(str_Spl); cout <<"Source String to Split: " <<str_Spl << "\n\n"; // while loop function to go through source string until it is finished. while (getline(obj_ss, str_piece, ',')) { cout << str_piece << endl; } return 0; } |
Output:
Taking user input for source string to split
In this example, we take the input from the user to enter the string to split by space delimiter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <iostream> #include <sstream> using namespace std; int main() { string str_Spl, str_piece; //Taking User Input cout << "Enter a line to split by space? "; getline(cin, str_Spl); stringstream obj_ss(str_Spl); // while loop function to go through source string until it is finished. cout << "\nString after Split: \n\n "; while (getline(obj_ss, str_piece, ' ')) { cout << str_piece << endl; } return 0; } |
Sample Output: