Python String Startswith – With Examples

In python, the string function startswith() is used to check whether a string starts with another string or not. In this tutorial, we’ll look at its syntax and use-cases along with some examples.

Before we proceed, here’s a quick refresher on python strings – Strings are immutable sequences of unicode characters used to handle textual data. Strings implement all common sequence operations (example, iterations, membership tests, etc). For more, check out our guide on strings and other fundamentals of python.

As stated above, startswith() is a string function in python to check whether a string starts with the given prefix or not. The following is its syntax:

sample_string.startswith(prefix, start, end)

Here, sample_string is the string you want to check whether it starts with the prefix or not.

Parameters:

  • prefix: The prefix string to be checked.
  • start (optional): The starting position from where the prefix is to be checked within the string.
  • end (optional): The ending position till where the prefix is to be checked within the string.

Returns:

The startswith() function returns:

  • True if the string starts with the given prefix.
  • False if the string doesn’t start with the given prefix.

Example 1: Without using the optional parameters

# check if string starts with the prefix
s = "To code or not to code"

# check if s starts with 'To code'
print("Starts with 'To code':", s.startswith('To code'))

# check if the match is case-sensitive or not
print("Starts with 'TO CODE':", s.startswith('TO CODE'))

# check if s starts with 'code'
print("Starts with 'code':", s.startswith('code'))

Output:

Starts with 'To code': True
Starts with 'TO CODE': False
Starts with 'code': False

In the above example, we check whether the string s starts with different prefixes or not. First, we check for the prefix 'To code' which returns True. Then, we check for the same prefix but with all characters as uppercase, 'TO CODE' which returns False, this shows that the startswith() function also takes into account the case of the strings. Finally, we check for the prefix 'code' which rightfully returns False.

Example 2: Specifying the start and end parameters in the python string startswith() function.

# check if string starts with the prefix
s = "To code or not to code"

print(s.startswith('code'))
print(s.startswith('code', 3))
print(s.startswith('code', 3, 7))
print(s.startswith('code', 3, 6))

Output:

False
True
True
False

In the above example, we see the results when providing the start and end parameters to the startswith() string function. To better understand the use of start and end parameters imagine them as the indices to slice a string, like s[start:end] and then using the prefix to check whether the sliced string starts with it or not.

For more on python string functions, refer to the python docs.


Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.