5 Ways to Remove a Character from String in Python

The following methods are used to remove a specific character from a string in Python.

  1. By using Naive method
  2. By using replace() function
  3. By using slice and concatenation
  4. By using join() and list comprehension
  5. By using translate() method

Note that the string is immutable in Python. So the original string remains unchanged and a new string is returned by these methods.


1. Removing a Character from String using the Naive method

In this method, we have to run a loop and append the characters and build a new string from the existing characters except when the index is n. (where n is the index of the character to be removed)

input_str = "DivasDwivedi"
  
# Printing original string  
print ("Original string: " + input_str) 
  
result_str = "" 
  
for i in range(0, len(input_str)): 
    if i != 3: 
        result_str = result_str + input_str[i] 
  
# Printing string after removal   
print ("String after removal of i'th character : " + result_str)

Output:

Original string: DivasDwivedi
String after removal of i’th character : DivsDwivedi


2. Removal of Character from a String using replace() Method

str = "Engineering"
  

print ("Original string: " + str) 
  

res_str = str.replace('e', '') 
  

# removes all occurrences of 'e' 
print ("The string after removal of character: " + res_str) 
  
# Removing 1st occurrence of e 

res_str = str.replace('e', '', 1) 
   
print ("The string after removal of character: " + res_str) 

Output:

Original string: Engineering
The string after removal of character: Enginring
The string after removal of character: Enginering


3. Removal of Character from a String using Slicing and Concatenation

str = "Engineering"
  

print ("Original string: " + str) 
  
# Removing char at pos 3 
# using slice + concatenation 
res_str = str[:2] +  str[3:] 
  

print ("String after removal of character: " + res_str) 

Output:

Original string: Engineering
String after removal of character: Enineering


4. Removal of Character from a String using join() method and list comprehension

In this technique, every element of the string is converted to an equivalent element of a list, after which each of them is joined to form a string excluding the particular character to be removed.

str = "Engineering"
  

print ("Original string: " + str) 
  
# Removing char at index 2 
# using join() + list comprehension 
res_str = ''.join([str[i] for i in range(len(str)) if i != 2]) 
  

print ("String after removal of character: " + res_str) 

Output:

Original string: Engineering
String after removal of character: Enineering


5. Removal of character from a string using translate() method

str = 'Engineer123Discipline'

print(str.translate({ord(i): None for i in '123'}))

Output:

EngineerDiscipline


References