You should use regex (with word boundary) as str.find returns the first occurrence. Then use the start attribute of the match object to get the starting index.

import re

string = 'This is laughing laugh'

a = re.search(r'\b(laugh)\b', string)
print(a.start())
>> 17

You can find more info on how it works here.

Answer from DeepSpace on Stack Overflow
๐ŸŒ
W3Schools
w3schools.com โ€บ python โ€บ ref_string_index.asp
Python String index() Method
Remove List Duplicates Reverse ... Python Interview Q&A Python Bootcamp Python Training ... The index() method finds the first occurrence of the specified value....
๐ŸŒ
Programiz
programiz.com โ€บ python-programming โ€บ methods โ€บ string โ€บ index
Python String index()
The index() method returns the index of a substring inside the string (if found). If the substring is not found, it raises an exception. ... If substring exists inside the string, it returns the lowest index in the string where substring is found. If substring doesn't exist inside the string, ...
๐ŸŒ
Built In
builtin.com โ€บ software-engineering-perspectives โ€บ python-substring-indexof
5 Ways to Find the Index of a Substring in Python | Built In
The index() method in Python finds the first occurrence of a specific character or element in a string or list. If the character or element is found, its index value will be returned.
๐ŸŒ
BigBinary Academy
courses.bigbinaryacademy.com โ€บ learn-python โ€บ working-with-strings โ€บ find-the-index-of-a-word
Find the index of a word - Python | BigBinary Academy
Although we can use the `in` keyword to find if some word exists in a string, we sometimes instead require the index of the word of where it appears. Python has a `.find()` method for the same. The `.find()` method returns the index where the word is present in the string.
๐ŸŒ
pythontutorials
pythontutorials.net โ€บ blog โ€บ how-to-find-index-of-an-exact-word-in-a-string-in-python
How to Find the Index of an Exact Word in a String in Python (Solving Substring Match Issues) โ€” pythontutorials.net
(with punctuation). The built-in str.find(substring) method in Python returns the index of the first occurrence of a substring, but it does not distinguish between substrings and exact words.
๐ŸŒ
Tutorialspoint
tutorialspoint.com โ€บ python โ€บ string_index.htm
Python String index() Method
Welcome to Tutorialspoint." str2 ... above program - ... The python string index() method returns the index where the substring is found within the range of the starting and ending index that is specified....
Find elsewhere
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ python-word-location-in-string
Word location in String - Python - GeeksforGeeks
July 12, 2025 - This method splits the string into words and directly finds the index of the target word using index(). If the word is found, it returns the position.
๐ŸŒ
Medium
medium.com โ€บ better-programming โ€บ 5-ways-to-find-the-index-of-a-substring-in-python-13d5293fc76d
5 Ways to Find the Index of a Substring in Python | by Indhumathy Chelliah | Better Programming
September 2, 2021 - str.find() returns the lowest index in the string where the substring sub is found within the slice s[start:end]. It returns -1 if the sub is not found. start and end are optional arguments. -python docs
๐ŸŒ
Dot Net Perls
dotnetperls.com โ€บ find-python
Python - String find Examples - Dot Net Perls
Often Python programs start by parsing strings. We need to locate specific regions of a string. The find() and index() functions are helpful here. With find, and its friend rfind, we scan strings. If the substring is found, find() returns its index. If no match is located, it returns -1. Here ...
๐ŸŒ
datagy
datagy.io โ€บ home โ€บ python posts โ€บ python strings โ€บ python: find an index (or all) of a substring in a string
Python: Find an Index (or all) of a Substring in a String โ€ข datagy
December 20, 2022 - There may be many times when you want to find the last index of a substring in a Python string. To accomplish this, we cannot use the .index() string method. However, Python comes built in with a string method that searches right to left, meaning itโ€™ll return the furthest right index.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python-string-find
Python String find() Method - GeeksforGeeks
April 26, 2025 - Example:Pythons = "Welcome to GeekforGeeks!" index = s.find("Geekf ... format() method in Python is a tool used to create formatted strings. By embedding variables or values into placeholders within a template string, we can construct dynamic, well-organized output. It replaces the outdated % formatting method, making string interpolation more readable and efficient.
๐ŸŒ
Quora
quora.com โ€บ How-do-I-find-the-index-of-a-character-in-a-string-in-Python
How to find the index of a character in a string in Python - Quora
Quora is a place to gain and share knowledge. It's a platform to ask questions and connect with people who contribute unique insights and quality answers.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ python-string-index-method
Python String index() Method - GeeksforGeeks
May 2, 2025 - Explanation: index() method searches for the substring "prog" within "Python programming" and returns starting index 7. ... end (optional): The ending index for the search. If not provided, it defaults to the length of the string.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ find-the-index-of-a-substring-in-python
Find the Index of a Substring in Python - GeeksforGeeks
July 23, 2025 - s = "GeeksforGeeks" # Define the substring we want to find s1 = "eeks" # Use the find() method to locate the starting index of the substring 's1' in the string 's' index = s.find(s1) #Print either satarting position of 's1' or -1 if not found ...
๐ŸŒ
Python Tutorial
pythontutorial.net โ€บ home โ€บ python string methods โ€บ python string index()
Python String index(): Locating the Index of a Substring in a String
December 28, 2020 - Since the string has two substrings 'Python', the index() method returns the lowest index where the substring found in the string. The following example uses the index() method to find the substring 'Python' in the string 'Python will, Python will rock you.' within the slice str[1:]: