
- 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
Case-insensitive string replacement using Python Program
In this article, we will learn Case insensitive string replacement in python.
Methods Used
The following are the various methods to accomplish this task −
Using re.IGNORECASE, re.escape(), re.sub()
Using re.sub(), lambda, re.escape() functions
Using split(), lower() & replace() functions
Using split(), list() and join() functions
Method 1: Using re.IGNORECASE, re.escape(), re.sub()
re.compile() function
A regular expression pattern can be combined with pattern objects, which can then be used for pattern matching. This function also allows searching for a pattern again without rewriting it.
Syntax
re.compile(pattern, repl, string)
re.sub() function
The string with replaced values is returned by the re.sub() function, which stands for a substring. When we use this function, we can replace several elements with a list.
Syntax
re.sub(pattern, repl, string, count=0, flags=0)
re.escape() function
This function returns a string with all non-alphanumerics backslashed. If you want to match an arbitrary literal string that might contain regular expression metacharacters this function can be used.
Algorithm (Steps)
Following are the Algorithms/steps to be followed to perform the desired task –
Use the import keyword to import the re(regex) module.
Create a variable to store the input string.
Print the input string.
Create another variable to store the input replace string to be replaced with.
Initialize a substring to be replaced.
Ignore all the cases of the given string using the compile(), escape(), and IGNORECASE attributes (re.IGNORECASE is used to ignore cases).
Substitute the substring with replacing a string using the regex sub() function
Print the resultant string after replacing the case-insensitively.
Example
The following program returns a string after case-insensitive string replacement using re.IGNORECASE, re.escape(), re.sub() functions –
# importing re(regex) module import re # input string inputString = "hello TuTorialsPOint python" # printing input string print("Input String: ", inputString) # input replace string to be replaced with replaceString = "java" # substring to be replaced subString = "tutorialspoint" # compilation step to escape the word for all cases # the re.IGNORECASE is used to ignore cases compileObj = re.compile(re.escape(subString), re.IGNORECASE) #Substitute the substring with replacing a string using the regex sub() function resultantStr = compileObj.sub(replaceString, inputString) # printing resultant string after replacing print("Resultant string after replacing: ", resultantStr)
Output
On execution, the above program will generate the following output –
Input String: hello TuTorialsPOint python Resultant string after replacing: hello java python
Method 2: Using re.sub(), lambda, re.escape() functions
lambda function
A lambda function is a small anonymous function.
A lambda function can have an unlimited/any number of arguments but only one expression.
Syntax
lambda arguments : expression
Example
The following program returns a string after case-insensitive string replacement using re.sub(), lambda, re.escape() functions –
# importing re(regex) module import re # input string inputString = "hello TuTorialsPOint python" # printing input string print("Input String: ", inputString) # input replace string to be replaced with replaceString = "java" # substring to be replaced subString = "tutorialspoint" resultantStr = re.sub('(?i)'+re.escape(subString), lambda k: replaceString, inputString) print("Resultant string after replacing: ", resultantStr)
Output
On execution, the above program will generate the following output –
Input String: hello TuTorialsPOint python Resultant string after replacing: hello java python
Method 3: Using split(), lower() & replace() functions
split() − splits a string into a list. We can define the separator; the default separator is any whitespace.
lower() − converts all uppercase characters in a string to lowercase characters
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)
Example
The following program returns a string after case-insensitive string replacement using split(), lower() & replace() functions –
# input string inputString = "hello TuTorialsPOint python" # printing input string print("Input String: ", inputString) # input replace string to be replaced with replaceString = "java" # substring to be replaced subString = "tutorialspoint" # splitting input string into a list of words wordsList = inputString.split() # traversing through each word of words list for word in wordsList: # checking whether the current word is equal to the given substring # by converting them into lowercase using the lower() function if(word.lower() == subString.lower()): # replacing current word with the input replace string inputString = inputString.replace(word, replaceString) print("Resultant string after replacing: ", inputString)
Output
On execution, the above program will generate the following output –
Input String: hello TuTorialsPOint python Resultant string after replacing: hello java python
Method 4: Using split(), list() and join() functions
join() − 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.
list() function(converts the sequence/iterable to a list).
Example
The following program returns a string after case-insensitive string replacement using split(), list(), and join() functions –
# input string inputString = "hello TuTorialsPOint python" # printing input string print("Input String: ", inputString) # input replace string to be replaced with replaceString = "java" # substring to be replaced subString = "tutorialspoint" # splitting input string into a list of words wordsList = inputString.split() # traversing through index and word of @@ words list for index, word in enumerate(wordsList): # converting current word into lowercase and checking # whether it is equal to substring if word.lower() == subString: # replacing that word with the given replace string wordsList[index] = replaceString # converting words of wordlist into a string resultantStr = " ".join([word for word in wordsList]) print("Resultant string after replacing: ", resultantStr)
Output
Input String: hello TuTorialsPOint python Resultant string after replacing: hello java python
Conclusion
In this article, we learned how to use 4 different methods to case-insensitively replace the given string. Additionally, we learned how to use the regex module's IGNORECASE attribute to ignore the string's cases.
- Related Articles
- Switch Case in Python (Replacement)
- Case-insensitive string comparison in C++
- Is Python case-sensitive or case-insensitive?
- How do I do a case insensitive string comparison in Python?
- Perform case insensitive SELECT using MySQL IN()?
- How do I make my string comparison case insensitive?
- MySQL case-insensitive DISTINCT?
- How do we make my string comparison case insensitive in java?
- How to do case insensitive string comparison of strings in JavaScript
- Case insensitive search in Mongo?
- JavaScript Count characters case insensitive
- Case-insensitive Dictionary in C#
- Java Program to sort an array in case-insensitive order
- Java Program to sort a List in case insensitive order
- How to use case-insensitive switch-case in JavaScript?
