顶者有分!!! 300 分 求解 java 程序 ---- 分拣电子邮件
awash 2008-08-07 11:06:46 说明:
1。电子邮件原来保存在excel文件中,人工复制到mailist.txt文件中,每一行都自然换行。
2。现存不少问题,包括:
1)有特殊字符,例如 “/”,分号,中文字符等。
例如:capelec.sarl@wanadoo.fr/GREGORY.CLADERA@CAPELEC.FR
这种情况下,以“/”为界,实际等于清理出来两个email。
类似的情况还有:
a)lhysc@ms34.hinet.net;ysclh@hotmail.com
b) narumon.chaim@paka.com <narumon.chaim@paka.com>
c) g_naseeb@hotmail.com或 naseeb@emirates.net.ae
等等,不胜枚举。
2)首尾有空字符,要求清除空字符
例如将 "sea@abc.tv " 处理为 "sea@abc.tv"
3)有大量重复邮件地址,要求清除重复的地址。
4)有错误的邮件地址,这样的地址,如果不易判断,则放入另一个文件(error.txt)。例如:邮件“OFIT@ZAHAV.CO.ILI”
5)无符号连写
例如: plasticzar@aol.comoralice@advanceplastics.com
这里实际是两个邮件地址,中间有一个 or,这样的地址,如果不易判断,则放入另一个文件(error.txt)。
再例如:unicus@attbi.comORchristienshen@attbi.com
这里也是两个地址,中间也是有一个 “or”。
再例如:mini_94@hotmail.com.fernandojc2@hotmail.com.fernandojc2@bigpond.com
这里实际是3个地址,这样的地址,如果不易判断,则放入另一个文件。
6)不是每一行都有地址的,有时会有空行。(excel文件中该行记录的email栏目本来就是空的)。如果遇到空行,则要求删除空行。
7)邮件域名不一定是.com, .net 之类结尾。域名来自世界各地,例如 ".it", ".ae", ".se"等。
8)有可能是完全没有@字符,例如 braunsberger.at,或者 "1234"这样的数字或一些英文字串。这样的记录,应当删除。
9)email记录数以十万计。
3。清洗后的邮件列表,还是保存为每个email之后自然换行(即象从excel中复制到txt文件时那样)。
4。最后得出两个文件:
error.txt: 保存无法处理的错误邮件字符串
newmailist.txt: 处理完的邮件。
以下是一段email范例:
capelec.sarl@wanadoo.fr/GREGORY.CLADERA@CAPELEC.FR
amen@amenwardy.com
amrit_quilt_centre@hotmail.com
junquett@quadrifoglio.com.br
842234
callas@artshoppe.net
hello world
flyingsnow368@yahoo.com.cn
beechworthwine@yahoo.com
mini_94@hotmail.com.fernandojc2@hotmail.com.fernandojc2@bigpond.com
clive8116@yahoo.com.vivianbol@hotmail.com
info@homenoffice.com.pk;mozzi@cyber.net.pk
bilalzady@hotmail.com&waji@netvigator.com
jwu@classicpkg.com/jbcindustries@shaw.ca
francisco@leadermagazine.com.br,makeasy@imagelink.com.br
mina_stl@hotmail.comormina_stl@yahoo.com
LPahssen@mn.rr.comorLLPMARK@aol.com
carolt@sharich.com, chugani@sharich.com, sunder@sharich.com