Skip to content
Related Articles
Open in App
Not now

Related Articles

Python | Swap commas and dots in a String

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 10 Jan, 2023
Improve Article
Save Article

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))

Output

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))

Output

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

Output

14.625.498, 002

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!