Cho một địa chỉ email, kết quả của một chuyển đổi được áp dụng cho địa chỉ email đó và một địa chỉ email thứ hai, trả về đầu ra của cùng một chuyển đổi được áp dụng cho địa chỉ email thứ hai.
Các địa chỉ email sẽ có cấu trúc như sau:
Một chuỗi có độ dài dương chứa các ký tự chữ và số và nhiều nhất là một .
(phần cục bộ), theo sau là một @
ký hiệu, theo sau là một chuỗi có độ dài dương chứa các ký tự chữ và số (miền), theo sau là .
ký hiệu và chuỗi cuối cùng có độ dài dương chứa các ký tự chữ và số (TLD).
Có bốn phép biến đổi được phép:
- Danh tính (không thay đổi). (
a.b@c.d -> a.b@c.d
) - Trả lại chỉ là phần cục bộ (mọi thứ trước khi
@
) không thay đổi (a.b@c.d -> a.b
). - Trả lại phần địa phương tách ra
.
nếu có, với biểu tượng đầu tiên của mỗi nửa được viết hoa. (a.b@c.d -> A B
). - Trả lại chỉ tên miền (tất cả mọi thứ giữa
@
và cuối cùng.
) không thay đổi. (a.b@c.d -> c
).
Khi có nhiều hơn một chuyển đổi, bạn có thể đưa ra đầu ra của bất kỳ khả năng nào. Khoảng trắng ở đầu và cuối của đầu ra không quan trọng, nhưng ở giữa không (ví dụ: nếu bạn chia a.b
cho A B
nên có chỉ là một không gian ở giữa [và bất kỳ số lúc bắt đầu và kết thúc của đầu ra], nhưng nếu bạn chia a.
, sau đó A
với bất kỳ số lượng không gian ở hai bên đều được chấp nhận).
Ví dụ ( 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
Quy tắc thông thường và sơ hở áp dụng.
@
và cuối cùng .
). Vì cả phần cục bộ và miền đều là cả hai chicken
, nên không rõ liệu đó là phần chuyển đổi thứ 2 hay thứ 4
A
[với khoảng trắng ở cuối] rằng đầu vào thứ hai là Jones
[với khoảng trắng ở đầu])?
.jones@x.1, Jones, a.@3.z
là A
- nếu jones
là lần xuất hiện đó có nghĩa phần khớp là phần giữa giai đoạn đầu tiên và biểu tượng @. Nhưng điều đó sẽ dẫn đến một chuỗi trống bởi vì đó a
là trước thời kỳ đầu tiên và không phải sau đó.