Um pequeno favor
Meu amigo precisava de ajuda com uma tarefa da escola, e achei que seria uma boa adição para incluir também como desafio aqui.
Crie uma função que receba uma frase e retorne uma frase modificada de acordo com estas regras:
- Se você encontrar uma data na frase, no formato DD/MM/YY ou DD.MM.YY, deverá alterá-la para DD/MM/YYYY ou DD.MM.YYYY (com o mesmo caractere separador).
- Se você encontrar uma data na frase, no formato MonthName, DD. YY., deverá alterá-la para MonthName, DD. YYYY.
- Se você encontrar um MonthName inválido, deixe-o como está.
- Para este desafio, existe uma regra arbitrária: se YY for menor que 25, o prefixo do ano será 20; caso contrário, o prefixo do ano será 19.
- Ou seja, 08/11/20 -> 08/11/2020 ou 02/11/95 -> 02/11/1995
Exemplos
small_favor("I was born on 11/02/98")
➞ "I was born on 11/02/1998"
small_favor("I was born on 11/02/98 and what about you?")
➞ "I was born on 11/02/1998 and what about you?"
small_favor("I was born on 02.11.19")
➞ "I was born on 02.11.2019"
small_favor("I was born on February, 02. 98.")
➞ "I was born on February, 02. 1998."
small_favor("I was born on January, 01. 15. and today is October, 08. 20.")
➞ "I was born on January, 01. 2015. and today is October, 08. 2020."
small_favor("I was born on Fakemonthy, 01. 15. dont change invalid dates")
➞ "I was born on Fakemonthy, 01. 15. dont change invalid dates"Observações
Não se esqueça de aplicar a regra arbitrária do prefixo do ano definida acima.
- DD/MM/YY -> DD/MM/YYYY
- DD.MM.YY -> DD.MM.YYYY
- Month, DD. YY. -> Month, DD. YYYY.
- DD|MM|YY -> DD|MM|YY (separador inválido, significa que permanece inalterado)