如何修复名字被保存为姓氏的联系人?

How to fix contacts whose First names were saved as Last names?

我正在尝试修复其他人的联系人(我从他们的 phone 中检索到的),但似乎很多很多联系人的名字也写在姓氏字段中。可能 phone 依次询问每条信息,姓是第一个。

有人可以帮我排序这个数据库吗?我可以从地址簿中导出一个大的 .vcf,我可以在 Text Wrangler 中打开它,但是这个应用程序对我来说很新,我认为 Excel(不能将它与 vcf 一起使用)公式没有帮助。

我没有经常使用 Text Wrangler,但尝试查看手册。由于无法通过"search"找到任何内容,因此我放弃了浏览手册。

有人可以帮我让 Text Wrangler 检测名字和姓氏之间的 space 并将姓氏移动到分号之前吗?

编辑:也有一些卡片没有姓氏,但同样,那里写的是名字。因此,如果姓氏字段中有一个词(名称),则应将其移至名字。如果有两个(names/words 由 space 分隔),则第一个应移动到另一个标签中。

这是一张这样的卡片(姓氏中的名字)

BEGIN:VCARD
VERSION:3.0
N:Alex Instal;;;;
FN:Alex Instal
TEL;type=CELL;type=pref:nananana
X-ABUID:F9246772-nana-nana-nnana-nananana\:ABPerson
END:VCARD

以及格式正确的

BEGIN:VCARD
VERSION:3.0
N:Reynold;Adrian;;;
FN:Adrian Reynold
TEL;type=CELL;type=pref:nananan
X-ABUID:221697DB-3960-nana-nana-nanananana\:ABPerson
END:VCARD

这是一个带反向引用的正则表达式,适用于您描述的 Alex Instal 案例。首先确保选中 TextWrangler 搜索对话框中的 grep 选项。搜索这个:

^N:(\w*)(\s)(\w*);;;;$

并替换为:

N:;;;;

这是否适用于你当然取决于你的文件格式的一致性以及是否有任何特殊情况,如中间名等。但这至少适用于所描述的情况,你可以调整它如果有必要。