热度 16
2015-11-14 16:06
3339 次阅读|
0 个评论
.vcf文件(通讯录vcard)的操作,修改,处理 手机联系人通讯录导出来的.vcf文件就是vcard格式。 《rfc6350》规范是vCard Format Specification 手机导出来是这样: BEGIN:VCARD VERSION:2.1 N:;abc;;; N类型表示名字字段,这里“姓”是空的,“名”是abc,后面的其它名也是空的 FN:abc FN类型表示VCARD对象名称,一般和N是写一样内容 TEL;CELL:1-358-222-3333 手机号中可以用 + - 号 END:VCARD BEGIN:VCARD VERSION:2.1 N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=5A=4A=59;;; 可以用UTF8编码 FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=5A=4A=59 TEL;CELL:1-630-222-999999 END:VCARD 有的手机导出来有自已定义的类型:自己定义的类型以“X-”开头,需删除 有可能.vcf文件不是标准ANSI文件 有可能回车不是标准0D0A 有可能一行会被会成2行,比如N类型 有可能带有PHOTO类型,这样文件就很大,需删除之 可以有TEL;HOME:,TEL;CELL:,TEL;WORK:等 有ADR;HOME等。 所以要用记事本和ultraedit处理一下,删除无关的信息。用正则表达式。 又发现,手机号中有-号的,导入后,也会显示有-号,与.vcf的格式是一样的,保留了vcf的格式。所以还需要先把vcf的-号去掉。 正则表达式: 查找%TEL^(*^)-^(*^)^p ――这里写%表示行开头,$表示行结尾 替换为TEL^1^2^p ――这个不能写%或者$,不然就是%或$符号了