Remove specific characters from a string in Python

In Python, you can remove specific characters from a string by using the replace() method or using string slicing and concatenation.

  1. Using the replace() method You can use the replace() method to replace specific characters with an empty string. For example, to remove all occurrences of the letter "a" from a string:
my_string = "banana"
my_string = my_string.replace("a", "")
print(my_string)  # prints "bnn"

This will replace all occurences of 'a' with an empty string so the new string will be 'bnn'.

Watch a course Python - The Practical Guide

  1. Using slicing and concatenation

You can also use slicing and concatenation to remove specific characters from a string. You can iterate through the characters in the string, and for each character check whether or not it is the one you want to remove and if not add it to a new string. Here's an example that removes all vowels from a string:

my_string = "banana"
vowels = "aeiou"
new_string = ""
for char in my_string:
    if char not in vowels:
        new_string += char
print(new_string)  # prints "bnn"
  1. Using re module (regular expressions)

You could also use the re module if you want to remove specific characters that are in a pattern. The re.sub() function can be used to replace any part of the string that matches a pattern with a given replacement. For example, to remove all non-alphabetic characters from a string:

import re
my_string = "123abc#$%^&*()"
new_string = re.sub(r'[^a-zA-Z]', '', my_string)
print(new_string) # prints "abc"

You can replace the r'[^a-zA-Z]' by any regular expression pattern that suits your need.

It's worth mentioning that these methods will create new strings and will not change the original string. If you want to modify the original string in-place, you need to assign the result of the operation to the original variable again.