
- Python Basic Tutorial
- Python - Home
- Python - Overview
- Python - Environment Setup
- Python - Basic Syntax
- Python - Comments
- Python - Variables
- Python - Data Types
- Python - Operators
- Python - Decision Making
- Python - Loops
- Python - Numbers
- Python - Strings
- Python - Lists
- Python - Tuples
- Python - Dictionary
- Python - Date & Time
- Python - Functions
- Python - Modules
- Python - Files I/O
- Python - Exceptions
Python Program to Remove all digits before given Number
In this article, we will learn how to remove all digits before a given number in python.
Methods Used
The following are the various methods to accomplish this task −
Using List Comprehension, split(), enumerate() & index() Functions
Using re module
Using slicing, index() & replace() functions
Example
Assume we have taken an input string and an input number. We will now remove all the digits before the input number from an input string.
Input
inputString = 'hello 6 8 10 tutorialspoint 15 python codes' inputNumber = 10
Output
Resultant string after removing digits before input number{ 10 }: hello 10 tutorialspoint 15 python codes
In the above input string, the digits before the input number 10 are 6, 8. Hence they are removed from the input string and the result string is retained.
Method 1: Using List Comprehension, split(), enumerate() & index() Functions
The enumerate() method adds a counter to an iterable and returns the enumerate object.
Syntax
enumerate(iterable, start=0)
Parameters
iterable − It can be any sequence/object/iterable supporting iteration.
start − enumerate() begins counting from this value. If start is not specified, the value 0 is used.
index() function − The position at the first occurrence of the provided value is returned by the index() function.
The join() is a string function in Python that is used to join elements of a sequence that are separated by a string separator. This function connects sequence elements to convert to a string.
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task –.
Create a variable to store the input string.
Print the input list.
Create another variable to store the input number.
Use the split() function to split a string into a list of words and get the index of the input number in a string using the index() function.
Iterate in the input String with index and element using the enumerate() function and remove all the digits/numbers before the given number.
Use the join() function to convert the list into a string.
Print the resultant string after removing digits before the input number.
Example
The following program removes all the digits before a given number in an input string using list Comprehension, split(), enumerate() & index() functions –
# input string inputString = 'hello 6 8 10 tutorialspoint 15 python codes' # printing input string print("Input String:", inputString) # input number inputNumber = 10 # splitting a string into a list of words and # getting the index of input number in a string num_index = inputString.split().index(str(inputNumber)) # Getting the result using list comprehension resultantList = [element for p, element in enumerate( inputString.split()) if not (p < num_index and element.isdigit())] # converting the list into a string using join() function resultantStr = ' '.join(resultantList) # printing resultant string after removing digits before input number print("Resultant string after removing digits before input number{", inputNumber, "}:\n", resultantStr)
Output
On executing, the above program will generate the following output –
Input String: hello 6 8 10 tutorialspoint 15 python codes Resultant string after removing digits before input number{ 10 }: hello 10 tutorialspoint 15 python codes
Method 2: Using re module
Example
The following program removes all the digits before a given number in an input string using re module –
# importing re(regex) module import re # input string inputString = 'hello 6 8 10 tutorialspoint 15 python codes' # printing input string print("Input String:", inputString) # input number inputNumber = 10 # Using regex substitution resultantStr = re.sub('[023456789]', '', inputString[0: inputString.index( str(inputNumber))]) + inputString[inputString.index(str(inputNumber)):] # printing resultant string after removing digits before input number print("Resultant string after removing digits before input number{", inputNumber, "}:\n", resultantStr)
Output
On executing, the above program will generate the following output –
Input String: hello 6 8 10 tutorialspoint 15 python codes Resultant string after removing digits before input number{ 10 }: hello 10 tutorialspoint 15 python codes
Method 3: Using slicing, index() & replace() functions
replace() function − returns a copy of the string that replaces all occurrences of an old substring with another new substring.
Syntax
string.replace(old, new, count)
Algorithm (Steps)
Following are the Algorithm/steps to be followed to perform the desired task –
Convert the input number into a string using str() function and get the index of the input number in an input string using the index() function.
Initialize a variable to store all the digits as a string.
slicing the string after the input number
Use the for loop, to traverse through each character of the above digits.
replace the current digit with a space/blank using replace() function.
Print the resultant string after removing digits before the input number.
Example
The following program removes all the digits before a given number in an input string using slicing, index(), and replace() functions –
# input string inputString = 'hello 6 8 10 tutorialspoint 15 python codes' # printing input string print("Input String:", inputString) # input number inputNumber = 10 # getting the index of input number in a string num_index = inputString.index(str(inputNumber)) # storing all the digits in a string digits_str = "0123456789" # slicing the string till before the input number first_str = inputString[:num_index] # slicing the string after input number secd_str = inputString[num_index:] # traversing through each character of digits for c in digits_str: # replacing the first string with a null character first_str = first_str.replace(c, "") # printing resultant string after removing digits before input number print("Resultant string after removing digits before input number{", inputNumber, "}:\n", (first_str+secd_str))
Output
On executing, the above program will generate the following output –
Input String: hello 6 8 10 tutorialspoint 15 python codes Resultant string after removing digits before input number{ 10 }: hello 10 tutorialspoint 15 python codes
Conclusion
This article taught us three different methods for removing all the digits preceding the given number. Using the enumerate() function, we have also learned how to iterate with index and element value.
- Related Articles
- Program to find the sum of all digits of given number in Python
- Python Program to Remove numbers with repeating digits
- Python program to remove all duplicates word from a given sentence.
- Remove repeated digits in a given number using C++
- Python Program to print all distinct uncommon digits present in two given numbers
- C++ Program to check if a given number is Lucky (all digits are different)
- Program to count number of flipping required to make all x before y in Python
- Python program to remove each y occurrence before x in List
- Program to remove string characters which have occurred before in Python
- Python Program for Check if all digits of a number divide it
- Program to find nearest number of n where all digits are odd in python
- Write a program in Python to count the number of digits in a given number N
- Program to replace all digits with characters using Python
- C++ Program to Sum the digits of a given number
- Python Program for Efficient program to print all prime factors of a given number
