I have written this code to convert string in such format “0(532) 222 22 22” to integer such as 05322222222 .
class Phone():
def __init__(self,input):
self.phone = input
def __str__(self):
return self.phone
#convert to integer.
def to_int(self):
return int((self.phone).replace(" ","").replace("(","").replace(")",""))
test = Phone("0(532) 222 22 22")
print test.to_int()
It feels very clumsy to use 3 replace methods to solve this. I am curious if there is a better solution?
Note that you’ll “lose” the leading zero if you want to convert it to int (like you suggested in the title). If you want to do that, just wrap the above in a
int()call. A telephone number does make more sense as a string though (in my opinion).