Fiquei com uma dúvida em relação ao método findall do regex .
class GetPhones:
def __init__(self, text):
self.phones = self.validate(text)
if len(self.phones) == 0:
raise ValueError('Invalid Number')
def __getitem__(self, item):
return self.phones[item]
def validate(self, text):
pattern = '([(]?[0-9]{2,3}[)]?)?([(]?[0-9]{2}[)]?)([0-9]{4,5})([-]?)([0-9]{4})'
return re.findall(pattern, text)
Por exemplo, nessa classe com o método especial getitem. Ao instânciar um objeto da seguinte forma:
text = 'oal ljsaioda 5558299999555 sjaiosjaisoa (525)6598989856 auhsauisaas (85)(48)5556-9857'
temp = GetPhones(text)
for item in temp:
print(item)
A sáida que que recebo é: ('555', '82', '9999', '', '9555') ('(525)', '65', '9898', '', '9856') ('(85)', '(48)', '5556', '-', '9857')
Minha dúvida é, como eu faria para chamar o método str em cada iteração para formatar corretamente?