You are currently viewing Remove Character From String Python

How to remove character/characters from a String in Python? Removing characters from a string involves deleting one or more characters from the original string, which then creates a modified string where the specified characters have been removed. The process of removing characters can be achieved using different methods or functions depending on the programming language or text manipulation tools.

Advertisements

You can remove specific character/characters from a String in Python using many ways, for example, by using the replace(), native method, translate(), slice + concatenation, join() & list comprehension, bytearray, and recursion. In this article, I will explain how to remove a character/characters from a string by using all these methods with examples.

Related: You can also remove the first character of the string in Python and remove the last character of the string.

1. Quick Examples of Removing Character From String

If you are in a hurry, below are some quick examples of how to remove characters from a String.


# Quick examples of removing character from string

# Initialize string 
string = "Welcome to sparkbyexamples"

# Example 1: Using replace() method to remove characters
result = string.replace("e", "")  

# Example 2: Using replace() method 
# With a limit of 2 replacements
result = string.replace("e", "", 2)

# Example 3: Using the native method
new_str = ""
for i in range(len(string)):
    if i != 2:
        new_str = new_str + string[i]

# Example 4: Remove characters from a string 
# Using Translate() method
string = "Welcome to sparkbyexamples123"
result = string.translate({ord('1'): None})

# Example 5: Using Translate() method
# Remove multiple characters from a string 
string = "Welcome to sparkbyexamples123"
result = string.translate({ord(i): None for i in '123'})

# Example 6: Using slice + concatenation 
result = string[:1] + string[4:] 

# Example 7: Using join() method and list comprehension
result = ''.join([string[i] for i in range(len(string)) if i != 4])

# Example 8: Using bytearray
def remove_char(string, index):
    b = bytearray(string, 'utf-8')
    del b[index]
    return b.decode()
string = "Welcome to sparkbyexamples"
index = 3
result = remove_char(string, index)

# Example 9: Using recursion
# Remove characters from a string 
def remove_character(s, i):
    if i == 0:
        return s[1:]
    return s[0] + remove_character(s[1:], i - 1)
string = "Welcome to sparkbyexamples"
result = remove_character(string, 3)

2. Remove Characters From a String Using replace() Method

You can remove characters from a string using the replace() method in Python. Using replace() method you can replace all occurrences of specified character of a string with an empty string. For example, first, initialize a string "Welcome to sparkbyexamples", and then use the replace() method to remove the character “e” from the string and replace it with an empty string(“”). The result is stored in the result variable and then printed to the console.


# Initialize string 
string = "Welcome to sparkbyexamples"
print("Original string:",string)

# Using replace() method
# To remove specified character
result = string.replace("e", "")  
print ("The string after removing character: ", result)

Yields below output.

 python remove character string

In the above output, the letter "e" is removed from the original string, resulting in "Wlcom to sparkbyxampls".

Moreover, you can use replace() method to control all occurrences of the specified character. For that, you need to pass a specified number as a third argument of replace() method along with the first and second arguments. It will replace the specified character with a specified number of times.

In the below example, you call the replace() method on the string variable and pass "e"(specified character) as the first argument, ""(empty string) as the second argument and 2(number of replacements of specified character)s as the third argument. As a result, only the first two occurrences of the character "e" are replaced, and the output shows “Wlcom to sparkbyexamples“.


# Using replace() method with a limit of 2 replacements
result = string.replace("e", "", 2)
print("The string after removal of character:", result)

Yields below output.

 python remove character string

3. Remove Character Using the Native Method

You can also remove character from a string using the native method. For example, first initialize a string “Welcome to sparkbyexamples”, and then use a native method to remove a character at a specific index from the string. In this case, the character at index 2 is removed. The resulting string is stored in the new_str variable and then printed to the console. In the output, the character at index 2, which is 'l', is removed from the original string, resulting in "Wecome to sparkbyexamples".


# Initialize string 
string = "Welcome to sparkbyexamples"
print("Original string:",string)

# Using the native method
new_str = ""
 
for i in range(len(string)):
    if i != 2:
        new_str = new_str + string[i]
print("The string after removing the character:", new_str)

# Output:
# Original string: Welcome to sparkbyexamples
# The string after removing the character: Wecome to sparkbyexamples

4. Remove Character From a String Using Translate() Method

Alternatively, you can use the translate() method to remove character from the string with the help of a translation mapping table or customized dictionary. For example, first initialize a string “Welcome to sparkbyexamples123”, and then use the translate() method to replace a specific character from the string with None. In this case, the character '1' is removed and replaced with None. The resulting string is stored in the result variable and then printed to the console.


# Initialize string 
string = "Welcome to sparkbyexamples123"
print("Original string:",string)

# Remove character from a string 
# Using Translate() method
result = string.translate({ord('1'): None})
print("The string after removing the character:", result)

# Output:
# Original string: Welcome to sparkbyexamples123
# The string after removing the character: Welcome to sparkbyexamples23

Similarly, you can also use the translate() method with a translation mapping to remove multiple characters from a string. In this case, the characters '1', '2', and '3' are removed from the original string, resulting in "Welcome to sparkbyexamples". The translation mapping {ord(i): None for i in '123'} is used, where ord(i) returns the Unicode code point of each character, and None specifies that the characters should be removed from the string.


# Remove multiple characters from a string 
# Using Translate() method
result = string.translate({ord(i): None for i in '123'})
print("The string after removing the character:", result)

# Output:
# Original string: Welcome to sparkbyexamples123
# The string after removing the character: Welcome to sparkbyexamples

5. Using Slice + Concatenation

Using a slicing technique and concatenation of Python you can remove multiple characters of the string based on index position and keep the rest of the characters intact. First, The result variable is assigned the concatenated value of two string slices, string[:1] and string[4:]. string[:1] represents the substring from the index 0 (inclusive) to index 1 (exclusive), which is the first character "W". string[4:] represents the substring starting from the index 4 (inclusive) until the end of the string, which is "ome to sparkbyexamples". By concatenating these two substrings, the code effectively removes the character at the index 1 (the second character) from the original string.


# Initialize string 
string = "Welcome to sparkbyexamples"
print("Original string:",string)

# Using slice + concatenation 
result = string[:1] + string[4:] 
print("The string after removing the character:", result)

# Output:
# Original string: Welcome to sparkbyexamples
# The string after removing the character: Wome to sparkbyexamples

6. Using join() Method and List Comprehension

You can also remove a specific character from a string using the join() method and list comprehension. For example, list comprehension is used to iterate over the indices of the characters in the string. For each index i in the range of the length of the string, it checks if the index is not equal to 4 (the index of the character to be removed). If the condition is true, it adds the character at that index to the list.

The list comprehension [string[i] for i in range(len(string)) if i != 4] generates a list of characters from the original string excluding the character at the index 4. The join() method is then used to concatenate the characters in the list back into a single string, with an empty string '' as the delimiter between characters.


# Initialize string 
string = "Welcome to sparkbyexamples"
print("Original string:",string)

# Using join() method and list comprehension
result = ''.join([string[i] for i in range(len(string)) if i != 4])
print("The string after removing the character:", result)

# Output:
# Original string: Welcome to sparkbyexamples
# The string after removing the character: Welcme to sparkbyexamples

7. Remove Characters From a String Using bytearray

You can also use a bytearray to remove a character from the string at a specified index. For example, The remove_char function takes two parameters, string (the original string) and index (the index of the character to remove). Inside the function, a bytearray is created from the original string using the 'utf-8' encoding. This allows us to modify the string as a mutable sequence of bytes.

The character at the specified index is removed from the bytearray using the del statement. The modified bytearray is then decoded back into a string using the decode() method, which uses the 'utf-8' encoding. Finally, the code prints the modified string as “The string after removing the character”, Welome to sparkbyexamples“, which is the original string with the character at the index 3 (the fourth character) removed.


# Using bytearray
def remove_char(string, index):
    b = bytearray(string, 'utf-8')
    del b[index]
    return b.decode()

string = "Welcome to sparkbyexamples"
print("Original string:",string)
index = 3
result = remove_char(string, index)
print("The string after removing the character:", result)

# Output:
# Original string: Welcome to sparkbyexamples
# The string after removing the character: Welome to sparkbyexamples

8. Remove Characters From a String Using Recursion

The final approach of removing a character from a string at a specific index using recursion. For example, the remove_character function takes two parameters, s (the original string) and i (the index of the character to remove). In the function, it checks if i is equal to 0. If it is, it means that the desired character to remove is at the beginning of the string. In this case, the function returns the substring starting from the index 1 until the end of the string, effectively removing the first character.

If i is not equal to 0, the function concatenates the first character of the string (s[0]) with the result of calling the remove_character function recursively on the remaining substring (s[1:]) and decrementing i by 1. This effectively skips the character at the specified index. The recursion continues until i reaches 0, at which point the function starts unwinding and returns the resulting string.


# Remove characters from a string 
# Using recursion
def remove_character(s, i):
    if i == 0:
        return s[1:]
    return s[0] + remove_character(s[1:], i - 1)

string = "Welcome to sparkbyexamples"
print("Original string:",string)
result = remove_character(string, 3)
print("The string after removing the character:", result)

Yields the same output as above.

9. Conclusion

In this article, I have explained how to remove character/characters from a String in Python by using the replace(), native method, translate(), slice + concatenation, join() & list comprehension, bytearray, and recursion with examples.

Happy Learning !!