# 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

 `# Python3 code to demonstrate working of` `# Get Nth word in String` `# using loop`   `# initializing string ` `test_str ``=` `"GFG ``is` `for` `Geeks"`   `# printing original string ` `print``("The original string ``is` `: " ``+` `test_str)`   `# initializing N ` `N ``=` `3`   `# Get Nth word in String` `# using loop` `count ``=` `0` `res ``=` `""` `for` `ele ``in` `test_str:` `    ``if` `ele ``=``=` `' '``:` `        ``count ``=` `count ``+` `1` `        ``if` `count ``=``=` `N:` `            ``break` `        ``res ``=` `""` `    ``else` `:` `        ``res ``=` `res ``+` `ele`   `# printing result` `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

 `# Python3 code to demonstrate working of` `# Get Nth word in String` `# using split()`   `# initializing string ` `test_str ``=` `"GFG ``is` `for` `Geeks"`   `# printing original string ` `print``("The original string ``is` `: " ``+` `test_str)`   `# initializing N ` `N ``=` `3`   `# Get Nth word in String` `# using split()` `res ``=` `test_str.split(``' '``)[N``-``1``]`   `# printing result` `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`   `# initializing string ` `test_str ``=` `"GFG is for Geeks"` `  `  `# printing original string ` `print``(``"The original string is : "` `+` `test_str)` `  `  `# initializing N ` `N ``=` `3` `  `  `# Get Nth word in String` `# using re.findall()` `res ``=` `re.findall(r``'\S+'``, test_str)`   `# printing result` `print``(``"The Nth word in String : "` `+` `res[N``-``1``])` `#This code is contributed by Edula Vinay Kumar Reddy`

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

1. Initialize the string.
2. Print the original string.
3. Initialize the value of N.
4. Find the starting and ending indices of the Nth word using the string slicing method.
5. Extract the Nth word using the starting and ending indices.
6. Print the Nth word.

## Python3

 `# initializing string` `test_str ``=` `"GFG is for Geeks"`   `# printing original string` `print``(``"The original string is : "` `+` `test_str)`   `# initializing N` `N ``=` `3`   `# Get Nth word in String` `# using slicing` `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]`   `# printing result` `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)

Previous
Next