最简单的方法来消除文本文件中的某些模式
问题描述:
我有一个vCard文件包含成千上万的联系人。在vCard文件联系人弦在一起,单个联系人被最简单的方法来消除文本文件中的某些模式
BEGIN:VCARD
...
END:VCARD
公司或组织的拥抱可以通过
ORG;CHARSET=UTF-8:My Company;
设置我寻找到eleminate有每个条目的最简单方法没有公司。我不介意它是脚本语言,还是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
您可以捕获与个人电子名片:BEGIN:VCARD\s+(.*?$\s+)+?END:VCARD
然后,如果捕获的字符串也是一个匹配:BEGIN:VCARD\s+(.*?$\s+)+ORG;CHARSET=UTF-8:(?<companyName>.*?);\s+(.*?$\s+)+END:VCARD
然后继续使用它。如果不匹配,则不存在companyName,因此不要保存它。
我敢肯定,你可以用一个正则表达式做到这一点,但通过分解问题
谢谢你这对我的作品!使用:^(^(BEGIN:VCARD \ s +(。*?$ \ s +)+ END:VCARD)|(BEGIN:VCARD \ s +(。*?$ s +)+ ORG; CHARSET = UTF-8 :。*?; \ s +(。*?$ \ s +)+ END:VCARD)) – Norbert 2011-04-20 07:02:23
好想法!我知道这是可能的:) – 2011-04-20 13:57:18