Python | Swap commas and dots in a String
The problem is quite simple. Given a string, we need to replace all commas with dots and all dots with the commas. This can be achieved in many different ways.
Examples:
Input : 14, 625, 498.002
Output : 14.625.498, 002
Method 1: Using maketrans and translate()
maketrans: This static method returns a translation table usable for str.translate(). This builds a translation table, which is a mapping of integers or characters to integers, strings, or None.
translate: This returns a copy of the string where all characters occurring in the optional argument are removed, and the remaining characters have been mapped through the translation table, given by the maketrans table.
For more reference visit Python String Methods.
Python3
# Python code to replace, with . and vice-versa def Replace(str1): maketrans = str1.maketrans final = str1.translate(maketrans( ',.' , '.,' , ' ' )) return final.replace( ',' , ", " ) # Driving Code string = "14, 625, 498.002" print (Replace(string)) |
14.625.498, 002
Method 2: Using replace()
This is more of a logical approach in which we swap the symbols considering third variables. The replace method can also be used to replace the methods in strings. We can convert “, ” to a symbol then convert “.” to “, ” and the symbol to “.”. For more reference visit Python String Methods.
Example:
Python3
def Replace(str1): str1 = str1.replace( ', ' , 'third' ) str1 = str1.replace( '.' , ', ' ) str1 = str1.replace( 'third' , '.' ) return str1 string = "14, 625, 498.002" print (Replace(string)) |
14.625.498, 002
Method 3: Using sub() of RegEx
Regular Expression or RegEx a string of characters used to create search patterns. RegEx can be used to check if a string contains the specified search pattern. In python, RegEx has different useful methods. One of its methods is sub(). The complexity of this method is assumed to be O(2m +n), where m=length of regex, n=length of the string.
The sub() function returns a string with values altered and stands for a substring. When we utilise this function, several elements can be substituted using a list.
Python3
import re txt = "14, 625, 498.002" x = re.sub( ', ' , 'sub' , txt) x = re.sub( '\.' , ', ' , x) x = re.sub( 'sub' , '.' , x) print (x) #contributed by prachijpatel1 |
14.625.498, 002
Please Login to comment...