我有一个包含数千个联系人的vCard文件。在 vCard 文件中,联系人被串在一起,单个联系人被
BEGIN:VCARD
...
END:VCARD
公司或组织可以由
ORG;CHARSET=UTF-8:My Company;
我正在寻找最简单的方法来消除每个没有公司的条目。我不介意它是脚本语言还是 Notepad++。
有什么建议么?谢谢!
我有一个包含数千个联系人的vCard文件。在 vCard 文件中,联系人被串在一起,单个联系人被
BEGIN:VCARD
...
END:VCARD
公司或组织可以由
ORG;CHARSET=UTF-8:My Company;
我正在寻找最简单的方法来消除每个没有公司的条目。我不介意它是脚本语言还是 Notepad++。
有什么建议么?谢谢!
你有没有想过正则表达式?
您可以创建一个需要公司字段的正则表达式,然后存储生成的捕获。任何没有公司字段的元素都不会被捕获,因此将被删除。
例如:
BEGIN:VCARD
...
ORG;CHARSET=UTF-8:My Company;
...
END:VCARD
BEGIN:VCARD
...
...
END:VCARD
BEGIN:VCARD
...
ORG;CHARSET=UTF-8:My Company;
...
END:VCARD
您可以使用以下方法捕获单个 vCard:BEGIN:VCARD\s+(.*?$\s+)+?END:VCARD
然后在每次匹配时,如果捕获的字符串也匹配到:BEGIN:VCARD\s+(.*?$\s+)+ORG;CHARSET=UTF-8:(?<companyName>.*?);\s+(.*?$\s+)+END:VCARD
则保留它。如果不匹配,则没有 companyName,所以不要保存它。
我相信你可以用一个正则表达式来做到这一点,但这对我来说可以解决问题