- 5 Ways to Remove a Character from String in Python
- 1. Removing a Character from String using the Naive method
- 2. Removal of Character from a String using replace() Method
- 3. Removal of Character from a String using Slicing and Concatenation
- 4. Removal of Character from a String using join() method and list comprehension
- 5. Removal of character from a string using translate() method
- References
- How To Remove Characters from a String in Python
- Remove Characters From a String Using the replace() Method
- Remove Newline Characters From a String Using the replace() Method
- Remove a Substring from a String Using the replace() Method
- Remove Characters a Specific Number of Times Using the replace() Method
- Remove Characters From a String Using the translate() Method
- Remove Multiple Characters From a String using the translate() method
- Remove Newline Characters From a String Using the translate() Method
- Conclusion
- 7 Ways to Remove Character From String Python
- Ways to Remove Characters from String in Python
- 1. Remove characters from string Using a loop
- Suppose you want to remove every occurrence of ‘r’ from the string-
- Suppose we want to remove all the capital letters
- 2. Remove characters from string in python using slicing
- Suppose we want to remove the character at a particular index-
- To remove the last character of the string
- To remove the first character-
- 3. Remove characters from string Using replace()
- You can also remove a list of characters.
- Suppose we want to remove a character only a certain number of times.
- 4. Remove characters from string in python using translate()
- 5. Remove characters from string Using join()
- 6. Remove characters from string Using regular expression
- We can also remove multiple characters using ‘|’.
- 7. Remove characters from string Using filter()
- Must Read
- Conclusion
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.
- By using Naive method
- By using replace() function
- By using slice and concatenation
- By using join() and list comprehension
- 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)
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)
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)
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)
Original string: Engineering
String after removal of character: Enineering
5. Removal of character from a string using translate() method
str = 'Engineer123Discipline' print(str.translate())
References
How To Remove Characters from a String in Python
This article describes two common methods that you can use to remove characters from a string using Python:
To learn some different ways to remove spaces from a string in Python, refer to Remove Spaces from a String in Python.
A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.
The examples in this tutorial use the Python interactive console in the command line to demonstrate different methods that remove characters.
Remove Characters From a String Using the replace() Method
The String replace() method replaces a character with a new character. You can remove a character from a string by providing the character(s) to replace as the first argument and an empty string as the second argument.
Declare the string variable:
Replace the character with an empty string:
The output shows that both occurrences of the character a were removed from the string.
Remove Newline Characters From a String Using the replace() Method
Declare a string variable with some newline characters:
Replace the newline character with an empty string:
The output shows that both newline characters ( \n ) were removed from the string.
Remove a Substring from a String Using the replace() Method
The replace() method takes strings as arguments, so you can also replace a word in string.
Declare the string variable:
Replace a word with an empty string:
The output shows that the string Hello was removed from the input string.
Remove Characters a Specific Number of Times Using the replace() Method
You can pass a third argument in the replace() method to specify the number of replacements to perform in the string before stopping. For example, if you specify 2 as the third argument, then only the first 2 occurrences of the given characters are replaced.
Declare the string variable:
Replace the first two occurrences of the character with the new character:
The output shows that the first two occurrences of the a character were replaced by the A character. Since the replacement was done only twice, the other occurrences of a remain in the string.
Remove Characters From a String Using the translate() Method
The Python string translate() method replaces each character in the string using the given mapping table or dictionary.
Declare a string variable:
Get the Unicode code point value of a character and replace it with None :
The output shows that both occurrences of the b character were removed from the string as defined in the custom dictionary.
Remove Multiple Characters From a String using the translate() method
You can replace multiple characters in a string using the translate() method. The following example uses a custom dictionary, , that replaces all occurrences of a , b , and c in the given string with None .
Declare the string variable:
Replace all the characters abc with None :
The output shows that all occurrences of a , b , and c were removed from the string as defined in the custom dictionary.
Remove Newline Characters From a String Using the translate() Method
You can replace newline characters in a string using the translate() method. The following example uses a custom dictionary, , that replaces all occurrences of \n in the given string with None .
Declare the string variable:
Replace all the \n characters with None :
The output shows that all occurrences of the newline character \n were removed from the string as defined in the custom dictionary.
Conclusion
In this tutorial, you learned some of the methods you can use to remove characters from strings in Python. Continue your learning about Python strings.
Want to deploy your application quickly? Try Cloudways, the #1 managed hosting provider for small-to-medium businesses, agencies, and developers — for free. DigitalOcean and Cloudways together will give you a reliable, scalable, and hassle-free managed hosting experience with anytime support that makes all your hosting worries a thing of the past. Start with $100 in free credits!
7 Ways to Remove Character From String Python
While working with strings, there are many times when we have to remove a character from string python. Suppose you want to delete a particular character entirely from the string, or if you want to remove all the special characters from the string.
Removing Characters from a String can be amazingly useful in many applications. Removing spam, filtering texts, and handling text sentiments require a basic concept of being able to remove a character from a string. As strings are immutable in Python, you need to assign strings to a new variable or reassign a new object to replace it.
Ways to Remove Characters from String in Python
In this post. we’ll mention 7 unique ways to remove the character from the string. These methods are as follows –
- Using loop
- Remove characters from string in python using slicing
- Using replace()
- Remove characters from string in python using translate()
- Using join()
- remove characters from string Using regular expression
- remove characters from string Using filter()
1. Remove characters from string Using a loop
This is a naive method. Here we apply a ‘for’ or ‘while’ loop to go through the string and if condition and the if the condition to check whether a particular character is present or not. We will save the resultant string in a new variable.
Suppose you want to remove every occurrence of ‘r’ from the string-
input_string = "remove all r from this string" result="" for i in input_string: if i=='r': pass else: result+=i print("input string : ",input_string) print("resultant string : ",result)
Output- input string : remove all r from this string resultant string : emove all fom this sting
Suppose we want to remove all the capital letters
All capital letters can be removed by using a conditional statement shown as below –
string="My name is Ashwini Mandani" new_string="" for i in string: if i >='A' and iOutput- y name is shwini andani2. Remove characters from string in python using slicing
Suppose we want to remove the character at a particular index-
string="remove character at index=5" string=string[:5]+string[6:] print(string)Output- remov character at index=5
To remove the last character of the string
string="keep learning" print(string[:len(string)-1])To remove the first character-
string="keep learning" print(string[1:])3. Remove characters from string Using replace()
It is a quite common way (though inefficient) remove a character from a string Python.
str1="Remove using replace functions" str1=str1.replace('e',"") print(str1)Output- Rmov using rplac functions
You can also remove a list of characters.
x=['1','2','3','4','5','6','7','8','9','0'] str1="ashwini0112mandani" for i in x: str1=str1.replace(i,"") print(str1)Suppose we want to remove a character only a certain number of times.
string="ashwini is a python programmer" string=string.replace("a","",1) print(string)Output- shwini is a python programmer4. Remove characters from string in python using translate()
One of the most efficient ways of removing a character from string in python is by using translate(). To use this method, we first have to use the maketrans() method to create a table. The table here defines which character should be replaced. The maketrans() should contain at least one and at most three arguments. And if we are giving only one argument, then it must be a dictionary.
#List of characters we want to remove list1=['+','/','-','*'] string="let+ us- use/ tran-slate fu*nction" #maketrans(): make a table showing to remove list1 with "" translation=string.maketrans() #applying the table on the string using the translate() string=string.translate(translation) print(string)Output- let us use translate function5. Remove characters from string Using join()
In this method we will use list comprehension and join().
string="ashw+ini i-s pyt++hon progr+am-mer" list1=['+','-'] string="".join(i for i in string if i not in list1) print(string)Output- ashwini is python programmer6. Remove characters from string Using regular expression
We can also remove a character using the sub() function of regular expressions. It is generally used to substitute or replace one character with another, but we can also remove characters using this.
To use regular expressions we have to import the re library
import re string="Remove all l's" string1=re.sub("l", "", string) print("Original: ",string) print("new: ",string1)Output- Original: Remove all l's new: Remove a 'sWe can also remove multiple characters using ‘|’.
import re string="remove all the l's and also remove all the r" string1=re.sub("l|r", "", string) print("Original: ",string) print("new: ",string1)Output- Original: remove all the l's and also remove all the r new: emove a the's and aso emove a the7. Remove characters from string Using filter()
We can also refine our string using filter() and lambda keyword.
string="Removing characters using filter method" characters=['c','R','m'] new=filter(lambda i: i not in characters,string) # filter() returns an iterator new_string="" for i in new: new_string+=i print(new_string)Output- eoving haraters using filter ethodMust Read
Conclusion
Whenever we want to remove a character from string python, we generally use any of the above methods. The most efficient way to remove characters in a string in python is by using the translate().
Try to run the programs on your side and let me know if you have any queries.
Happy Coding!