GFG App
Open App
Browser
Continue

Python | Ways to remove numeric digits from given string

Given a string (may contain both characters and digits), write a Python program to remove the numeric digits from string. Let’s discuss the different ways we can achieve this task.

Method #1: Using join and isdigit()

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string` `# using join and isdigit`   `# initialising string` `ini_string ``=` `"Geeks123for127geeks"`   `# printing initial ini_string` `print``(``"initial string : "``, ini_string)`   `# using join and isdigit ` `# to remove numeric digits from string` `res ``=` `''.join([i ``for` `i ``in` `ini_string ``if` `not` `i.isdigit()])`   `# printing result` `print``(``"final string : "``, res)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)

Method #2: Using translate and digits

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string` `# using translate` `from` `string ``import` `digits`   `# initialising string` `ini_string ``=` `"Geeks123for127geeks"`   `# printing initial ini_string` `print``(``"initial string : "``, ini_string)`   `# using translate and digits` `# to remove numeric digits from string` `remove_digits ``=` `str``.maketrans('``', '``', digits)` `res ``=` `ini_string.translate(remove_digits)`   `# printing result` `print``(``"final string : "``, res)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time Complexity: O(n), where n is the length of the input string “ini_string”. The reason is that the translate function is applied only once to the input string “ini_string”.
Auxiliary Space:  O(1), as it only uses a constant amount of extra memory to store the removed digits and the result string.

Method #3: Using filter and lambda

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string` `# using filter and lambda`   `# initialising string` `ini_string ``=` `"akshat123garg"`   `# printing initial ini_string` `print``(``"initial string : "``, ini_string)`   `# using filter and lambda` `# to remove numeric digits from string` `res ``=` `"".join(``filter``(``lambda` `x: ``not` `x.isdigit(), ini_string))`   `# res = ini_string` `# printing result` `print``(``"final string : "``, ``str``(res))`

Output

```initial string :  akshat123garg
final string :  akshatgarg```

Time Complexity: O(n), where n is the length of the initial string “ini_string”.
Auxiliary Space: O(n), as the filter function creates a new string “res” which is of length n. The variable “res” is stored in memory, hence the space complexity is O(n).

Method#4 Using join() and isalpha()

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string` `# using join and isalpha`   `# initialising string` `str1 ``=` `"Geeks123for127geeks"`   `# printing initial ini_string` `print``(``"initial string : "``, str1)`   `# using join and isalpha` `# to remove numeric digits from string` `str2 ``=` `"".join(x ``for` `x ``in` `str1 ``if` `x.isalpha())`   `# printing result` `print``(``"final string : "``, str2)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time Complexity: O(n), where n is the length of the string. This is because the code loops through each character in the string and performs a simple check for each character.
Auxiliary Space: O(n), where n is the length of the final string after removing numeric digits. This is because a new string of size n is created as the result of removing numeric digits from the original string.

Method#5: Using loop and in

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string` `# using loop and in `   `# initialising string` `str1 ``=` `"Geeks123for127geeks"`   `# printing initial ini_string` `print``(``"initial string : "``, str1)`   `# using loop and in` `# to remove numeric digits from string` `num ``=` `"1234567890"` `str2 ``=` `""` `for` `i ``in` `str1:` `    ``if` `i ``not` `in` `num:` `        ``str2``+``=``i`   `# printing result` `print``(``"final string : "``, str2)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time complexity: O(n), where n is the length of the string. The loop iterates through each character of the string once.

Auxiliary space complexity: O(n), where n is the length of the string. The str2 variable is created to store the final string without numeric digits, which is the same length as the original string.

Method #6: Using ord() function

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string` `# using loop and in`   `# initialising string` `str1 ``=` `"Geeks123for127geeks"`   `# printing initial ini_string` `print``(``"initial string : "``, str1)`   `# using loop and in` `# to remove numeric digits from string` `str2``=``""` `for` `i ``in` `str1:` `    ``if``(``not` `ord``(i) ``in` `range``(``48``,``58``)):` `        ``str2``+``=``i` `# printing result` `print``(``"final string : "``, str2)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time complexity: O(n), where n is the length of the input string ‘str1’.
Auxiliary space: O(n), where n is the length of the input string ‘str1’.

Method #7: Using re

One approach to remove numeric digits from a given string is to use a regular expression to match and remove the digits. This can be done using the re module in Python.

Here is an example of how this can be done:

Python3

 `import` `re`   `# Initialize the string` `ini_string ``=` `"Geeks123for127geeks"`   `# Print the initial string` `print``(``"initial string : "``, ini_string)`   `# Use a regular expression to remove the digits` `res ``=` `re.sub(r``'\d'``, '', ini_string)`   `# Print the result` `print``(``"final string : "``, res)` `#This code is contributed by Edula Vinay Kumar Reddy`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time Complexity: O(n), where n is the length of the string, as it needs to iterate through the entire string to remove the digits.
Auxiliary Space: O(n), as it only requires memory to store the result.

Method #8: Using replace() method

Python3

 `# Python code to demonstrate` `# how to remove numeric digits from string`   `# initialising string` `ini_string ``=` `"Geeks123for127geeks"`   `# printing initial ini_string` `print``(``"initial string : "``, ini_string)`     `# to remove numeric digits from string` `for` `i ``in` `"0123456789"``:` `    ``ini_string``=``ini_string.replace(i,"")` `    `  `# printing result` `print``(``"final string : "``, ini_string)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks```

Time Complexity: O(n), where n is the length of the string, as it needs to iterate through the entire string to remove the digits.
Auxiliary Space: O(n), as it only requires memory to store the result.

Method #9 : Using re.match()

Approach

1. Initiate a for loop to traverse ini_string, create an empty string res
2. Append the characters which are not numeric to res (to check numeric or not use regular expression ‘^[0-9]+\$’ and re.match() method)
3. Display res

Python3

 `import` `re` `# Initialize the string` `ini_string ``=` `"Geeks123for127geeks"`   `# Print the initial string` `print``(``"initial string : "``, ini_string)`   `# Use a regular expression to remove the digits` `res``=``""` `for` `i ``in` `ini_string:` `    ``if` `not` `re.match(``'^[0-9]+\$'``, i):` `        ``res``+``=``i` `# Print the result` `print``(``"final string : "``, res)`

Output

```initial string :  Geeks123for127geeks
final string :  Geeksforgeeks
```

Time Complexity: O(n), where n is the length of the string, as it needs to iterate through the entire string to remove the digits.
Auxiliary Space: O(n), as it only requires memory to store the result.

My Personal Notes arrow_drop_up