Python – Get Nth word in given String
Last Updated :
23 Apr, 2023
Sometimes, while working with data, we can have a problem in which we need to get the Nth word of a String. This kind of problem has many application in school and day-day programming. Let’s discuss certain ways in which this problem can be solved.
Method #1 : Using loop This is one way in which this problem can be solved. In this, we run a loop and check for spaces. The Nth word is when there is N-1th space. We return that word.
Python3
test_str = "GFG is for Geeks"
print ("The original string is : " + test_str)
N = 3
count = 0
res = ""
for ele in test_str:
if ele = = ' ' :
count = count + 1
if count = = N:
break
res = ""
else :
res = res + ele
print ("The Nth word in String : " + res)
|
Output :
The original string is : GFG is for Geeks
The Nth word in String : for
Method #2 : Using split() This is a shorthand with the help of which this problem can be solved. In this, we split the string into a list and then return the Nth occurring element.
Python3
test_str = "GFG is for Geeks"
print ("The original string is : " + test_str)
N = 3
res = test_str.split( ' ' )[N - 1 ]
print ("The Nth word in String : " + res)
|
Output :
The original string is : GFG is for Geeks
The Nth word in String : for
Method #3 : Using re.findall()
This approach uses the re.findall() function from the re library. It searches for all non-whitespace substrings in the given string and returns them in a list. The Nth word can then be accessed by indexing the list.
Python3
import re
test_str = "GFG is for Geeks"
print ( "The original string is : " + test_str)
N = 3
res = re.findall(r '\S+' , test_str)
print ( "The Nth word in String : " + res[N - 1 ])
|
Output
The original string is : GFG is for Geeks
The Nth word in String : for
Time complexity is O(n) and Auxiliary Space is O(n).
Method 4 : using the string slicing method.
step-by-step approach
- Initialize the string.
- Print the original string.
- Initialize the value of N.
- Find the starting and ending indices of the Nth word using the string slicing method.
- Extract the Nth word using the starting and ending indices.
- Print the Nth word.
Python3
test_str = "GFG is for Geeks"
print ( "The original string is : " + test_str)
N = 3
start = 0
end = len (test_str)
for i in range (N - 1 ):
start = test_str.find( " " , start) + 1
for i in range (start, len (test_str)):
if test_str[i] = = " " :
end = i
break
nth_word = test_str[start:end]
print ( "The Nth word in String : " + nth_word)
|
Output
The original string is : GFG is for Geeks
The Nth word in String : for
Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...