Dado um endereço de email, o resultado de uma transformação aplicada a esse endereço de email e um segundo endereço de email, retornam a saída da mesma transformação aplicada ao segundo endereço de email.
Todos os endereços de email terão a seguinte estrutura:
Uma sequência de comprimento positivo contendo caracteres alfanuméricos e no máximo um .
(a parte local), seguida por um @
símbolo, seguida por uma sequência de comprimento positivo contendo símbolos alfanuméricos (o domínio), seguida por um .
símbolo e uma sequência final de comprimento positivo contendo caracteres alfanuméricos (o TLD).
Existem quatro transformações permitidas:
- Identidade (sem alteração). (
a.b@c.d -> a.b@c.d
) - Retornando apenas a parte local (tudo antes da
@
) não modificada (a.b@c.d -> a.b
). - Retornando a parte local, divida no
.
se presente, com o primeiro símbolo de cada metade em maiúscula. (a.b@c.d -> A B
) - Retornando apenas o domínio (tudo entre o
@
e o final.
) sem modificação. (a.b@c.d -> c
)
Quando mais de uma transformação é possível, você pode fornecer a saída de qualquer uma das possibilidades. Espaço em branco no início e no final da saída não importa, mas no meio importa (por exemplo, se você dividir a.b
para A B
, deve haver apenas um espaço no meio [e qualquer número no início e no final da saída], mas se você dividir a.
, A
todos os espaços de ambos os lados serão aceitáveis).
Exemplos ( input | output
):
john.doe@gmail.com, John Doe, phillip.maini@gmail.com | Phillip Maini
John.Doe@gmail.com, John Doe, Phillip.Maini@gmail.com | Phillip Maini
foo.bar@hotmail.com, foo.bar, gee.whizz@outlook.com | gee.whizz
foo.bar@hotmail.com, foo.bar, gEe.Whizz@outlook.com | gEe.Whizz
rodney.dangerfield@comedy.net, comedy, michael.scott@office.0 | office
.jones@x.1, Jones, a.@3.z | A
.jones@x.1, .jones@x.1, a.@3.z | a.@3.z
.jones@x.1, .jones, a.@3.z | a.
.jones@x.1, x, a.@3.z | 3
.@b.c, .@b.c, 1@2.3 | 1@2.3
john.jones@f.f, John Jones, 1in.thehand@2inthe.bush | 1in Thehand
chicken.soup@q.z, Chicken Soup, fab@ulou.s | Fab
lange@haare.0, lange, fat.so@fat.net | fat.so
Lange@haare.0, Lange, fat.so@fat.net | {fat.so, Fat So} # either acceptable
chicken@chicken.chicken, chicken, horse@pig.farm | {horse, pig} # either acceptable
Aplicam-se regras e brechas usuais.
@
e final .
). Desde a parte local e domínio estão tanto chicken
, é ambígua se é o 2º ou 4º transformação
A
[com um espaço à direita] que a segunda entrada seja Jones
[com um espaço à esquerda])?
.jones@x.1, Jones, a.@3.z
é A
- se jones
for correspondido, significa que a parte correspondente é a parte entre o primeiro período e o símbolo @. Mas isso resultaria em uma sequência vazia, porque a
é antes do primeiro período e não depois.