String Methods in Python

 

String Methods in Python

Python provides a rich set of built-in string methods that allow you to manipulate, search, and modify strings easily. These methods are essential for working with text data and help streamline many common string operations.

Here’s a detailed guide to some of the most commonly used string methods:


1. upper() and lower()

These methods are used to convert a string to uppercase or lowercase.

Example 1: upper() and lower()

my_string = "Hello, World!"

# Convert to uppercase
print(my_string.upper())  # Output: HELLO, WORLD!

# Convert to lowercase
print(my_string.lower())  # Output: hello, world!
  • upper(): Converts all characters in the string to uppercase.
  • lower(): Converts all characters in the string to lowercase.

2. capitalize()

This method capitalizes the first letter of the string and converts the rest to lowercase.

Example 2: capitalize()

my_string = "hello, world!"

# Capitalize the first letter
print(my_string.capitalize())  # Output: Hello, world!
  • capitalize(): Converts only the first character to uppercase and the rest to lowercase.

3. title()

This method capitalizes the first letter of each word in the string.

Example 3: title()

my_string = "hello, world!"
print(my_string.title())  # Output: Hello, World!
  • title(): Capitalizes the first letter of each word, making it useful for titles or headings.

4. strip(), lstrip(), and rstrip()

These methods remove leading and/or trailing whitespace (or other specified characters) from a string.

Example 4: strip(), lstrip(), and rstrip()

my_string = "   hello, world!   "

# Remove leading and trailing whitespace
print(my_string.strip())  # Output: hello, world!

# Remove leading whitespace
print(my_string.lstrip())  # Output: hello, world!   

# Remove trailing whitespace
print(my_string.rstrip())  # Output:    hello, world!
  • strip(): Removes whitespace from both ends of the string.
  • lstrip(): Removes whitespace from the left (beginning) of the string.
  • rstrip(): Removes whitespace from the right (end) of the string.

You can also specify characters to remove.

my_string = "///hello, world!///"
print(my_string.strip('/'))  # Output: hello, world!

5. replace()

This method replaces a specified substring with another substring.

Example 5: replace()

my_string = "Hello, World!"

# Replace a substring
new_string = my_string.replace("World", "Python")
print(new_string)  # Output: Hello, Python!
  • replace(old, new): Replaces all occurrences of old with new. If the substring old doesn't exist, the string remains unchanged.

6. split()

This method splits a string into a list of substrings based on a delimiter (default is whitespace).

Example 6: split()

my_string = "Hello, Python World!"

# Split the string by spaces
split_list = my_string.split()
print(split_list)  # Output: ['Hello,', 'Python', 'World!']

# Split by a custom delimiter
split_list2 = my_string.split(", ")
print(split_list2)  # Output: ['Hello', 'Python World!']
  • split(delimiter): Splits the string into a list where each element is a substring. The delimiter can be a space, comma, or any character or substring you choose.

7. join()

This method is the inverse of split(). It joins a list of strings into a single string, with the specified separator between the elements.

Example 7: join()

my_list = ['Hello', 'Python', 'World!']

# Join the list with a space separator
joined_string = " ".join(my_list)
print(joined_string)  # Output: Hello Python World!
  • join(iterable): Joins the elements of an iterable (like a list) into a string, with the string on which join() is called acting as the separator.

8. find() and index()

These methods are used to search for a substring within a string. Both return the index of the first occurrence of the substring.

Example 8: find() and index()

my_string = "Hello, Python!"

# Find the index of the first occurrence of a substring
print(my_string.find("Python"))  # Output: 7

# If substring is not found, `find()` returns -1
print(my_string.find("Java"))  # Output: -1

# Index works similarly but raises an exception if the substring is not found
print(my_string.index("Python"))  # Output: 7
# print(my_string.index("Java"))  # Uncommenting will raise ValueError: substring not found
  • find(substring): Returns the lowest index of the substring if found, otherwise -1.
  • index(substring): Similar to find(), but raises a ValueError if the substring is not found.

9. startswith() and endswith()

These methods check if the string starts or ends with the specified substring.

Example 9: startswith() and endswith()

my_string = "Hello, Python!"

# Check if the string starts with a specified substring
print(my_string.startswith("Hello"))  # Output: True
print(my_string.startswith("Python"))  # Output: False

# Check if the string ends with a specified substring
print(my_string.endswith("!"))  # Output: True
print(my_string.endswith("World"))  # Output: False
  • startswith(substring): Returns True if the string starts with the given substring, otherwise False.
  • endswith(substring): Returns True if the string ends with the given substring, otherwise False.

10. isalpha(), isdigit(), isalnum(), etc.

These methods are used to check the type of characters in a string.

Example 10: Checking Character Types

my_string = "Python3"

# Check if the string contains only alphabetic characters
print(my_string.isalpha())  # Output: False (contains numbers)

# Check if the string contains only digits
print(my_string.isdigit())  # Output: False

# Check if the string contains only alphanumeric characters (letters and numbers)
print(my_string.isalnum())  # Output: True
  • isalpha(): Returns True if all characters in the string are alphabetic.
  • isdigit(): Returns True if all characters in the string are digits.
  • isalnum(): Returns True if all characters in the string are alphanumeric (letters or digits).
  • Other similar methods include isspace(), isupper(), islower(), istitle(), etc.

11. format()

This method is used for string formatting, allowing you to insert values into a string.

Example 11: format()

name = "John"
age = 25

# Using placeholders to format a string
greeting = "Hello, my name is {} and I am {} years old.".format(name, age)
print(greeting)  # Output: Hello, my name is John and I am 25 years old.
  • format(): The curly braces {} are placeholders where values will be inserted. The format() method replaces these placeholders with the provided arguments.

12. count()

This method counts the number of occurrences of a substring in the string.

Example 12: count()

my_string = "Hello, Python! Hello, World!"

# Count occurrences of a substring
print(my_string.count("Hello"))  # Output: 2
  • count(substring): Returns the number of times the substring appears in the string.

13. zfill()

This method pads a string with zeros on the left, ensuring a specified length.

Example 13: zfill()

my_string = "42"

# Pad with zeros on the left to ensure length of 5
print(my_string.zfill(5))  # Output: 00042
  • zfill(width): Pads the string with zeros on the left until the total length of the string reaches width.

Summary of Key String Methods:

  • upper(), lower(), capitalize(), title(): For changing the case of strings.
  • strip(), lstrip(), rstrip(): For removing whitespace or specified characters.
  • replace(): For replacing substrings.
  • split() and join(): For splitting and joining

strings.

  • find(), index(), startswith(), endswith(): For searching within strings.
  • isalpha(), isdigit(), isalnum(), etc.: For checking character types.
  • format(): For string formatting.
  • count() and zfill(): For counting substrings and padding strings.

These string methods enhance the flexibility and power of Python when working with text, enabling efficient manipulation and analysis of string data.

Python

Machine Learning