In the Python programming language, you can work with strings. A string is a text object in Python. If you have a large string (sentence, paragraph, chapter, book), you may want to search in it.
Searching in a large string, is known as finding a sub-string. Programming languages handle with this in different ways.
How to find a sub-string in Python?
If you programmed in other languages before, you may know string.contains() or string.indexof()
if not string.contains("word"):
   continue
Examples
Python doesn't have these, but it's not hard to find sub-strings. You can use the in keyword like this:
    >>> s = "Hello World"
    >>> if "World" in s:
    ...     print("found")
    ... 
    found
    >>> 
You can use the string method .find() too
>>> if s.find("World") != -1:
...     print("Found")
... 
Found
>>>
Case sensitive
Both are case-sensitive, so this won't return anything because the first capital letter is missing:
>>> if s.find("world") != -1:
...     print("Found")
... 
To avoid case-sensitive problems, you can call the lower() method on both strings.
>>> if "World".lower() in s.lower():
...     print("Found")
... 
Found
This works for different characters too, but be careful with non-English characters. Like the Portugese word for read ("lê")
>>> s = "lê"
>>> if "LÊ".lower() in s.lower():
...     print("Found")
... 
Found
But only for newest versions of Python! If you try the same in an older version of Python:
python2
Python 2.7.17 (default, Nov  7 2019, 10:07:09) 
[GCC 9.2.1 20191008] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = "lê"
>>> if "LÊ".lower() in s.lower():
...     print("Found")
... 
>>
To prevent problems like this, you want to rely on casefold().
>>> s = "lê"
>>> if "LÊ".casefold() in s.casefold():
...     print("Found")
... 
Found
>>> 
Related links:
              
    
Top comments (0)