我有一个包含数千个联系人的vCard文件。在vCard文件中,联系人被串在一起,
包含了一个联系人BEGIN:VCARD
...
END:VCARD
可以通过
设置公司或组织ORG;CHARSET=UTF-8:My Company;
我正在寻找最简单的方法来消除每个 no 公司的条目。我不介意它是脚本语言还是Notepad ++。
有什么建议吗?谢谢!
答案 0 :(得分:0)
您是否考虑过正则表达式?
您可以创建一个需要公司字段的正则表达式,然后存储生成的捕获。任何没有公司字段的元素都不会被捕获,因此会被删除。
例如:
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,所以不要保存它。
我相信你可以用一个正则表达式做到这一点,但这对我来说可以解决问题