The task is to extract words from a given string. There may be one or more space between words.
Examples:
Input : geeks for geeks Output : geeks for geeks Input : I love coding. Output: I love coding
We have discussed a solution in the below post.
How to split a string in C/C++, Python and Java?
In this post, a new solution using stringstream is discussed.
1. Make a string stream. 2. extract words from it till there are still words in the stream. 3. Print each word on new line.
This solution works even if we have multiple spaces between words.
C++
// C++ program to extract words from // a string using stringstream #include<bits/stdc++.h> using namespace std;
void printWords(string str)
{ // word variable to store word
string word;
// making a string stream
stringstream iss(str);
// Read and print each word.
while (iss >> word)
cout << word << endl;
} // Driver code int main()
{ string s = "sky is blue" ;
printWords(s);
return 0;
} |
Java
// A Java program for splitting a string // using split() import java.io.*;
class GFG
{ // Method splits String into
// all possible tokens
public static void printWords(String s)
{
// Using split function.
for (String val: s.split( " " ))
// printing the final value.
System.out.println(val);
}
// Driver Code
public static void main(String args[])
{
// Sample string to check the code
String Str = "sky is blue" ;
// function calling
printWords(Str);
}
} // This code is contributed // by Animesh_Gupta |
Python3
# Python3 program to extract words from # a string def printWords(strr):
word = strr.split( " " )
print ( * word, sep = "\n" )
# Driver code s = "sky is blue"
printWords(s) # This code is contributed by shubhamsingh10 |
C#
// A C# program for splitting a string // using split() using System;
class GFG
{ // Method splits String into
// all possible tokens
public static void printWords(String s)
{
// Using split function.
foreach (String val in s.Split( " " ))
// printing the final value.
Console.WriteLine(val);
}
// Driver Code
static public void Main ()
{
// Sample string to check the code
String Str = "sky is blue" ;
// function calling
printWords(Str);
}
} // This code is contributed // by shivanisingh |
Javascript
<script> // A Javascript program for splitting // a string using split() // Method splits String into // all possible tokens function printWords(s)
{ s = s.split( " " );
for (let val = 0; val < s.length; val++)
{
document.write(s[val] + "</br>" );
}
} // Driver code // Sample string to check the code let Str = "sky is blue" ;
// function calling printWords(Str); // This code is contributed by divyeshrabadiya07 </script> |
Output:
sky is blue
Time complexity: O(n) where n is size of input string, since using a while loop
Auxiliary Space: O(1)