我有一个以逗号分隔的电子邮件地址列表,每个实际地址前面都带有联系人姓名(来自 Gmail)。这是一个例子:
Fred Flintstone <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f294809796b2949e9b9c8681869d9c97dc9d8095" rel="noreferrer noopener nofollow">[email protected]</a>>, Wilma Flintstone <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fc8b9590919dbc9a909592888f88939299d2938e9b" rel="noreferrer noopener nofollow">[email protected]</a>>, Barney Rubble <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cfadaebda1aab68fbdbaadada3aae1a0bda8" rel="noreferrer noopener nofollow">[email protected]</a>>, Bamm-Bamm Rubble <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2b494a4646494a46466b595e4949474e0544594c" rel="noreferrer noopener nofollow">[email protected]</a>>,
转换为:
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e98f9b8c8da98f8580879d9a9d86878cc7869b8e" rel="noreferrer noopener nofollow">[email protected]</a>, <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="32455b5e5f5372545e5b5c4641465d5c571c5d4055" rel="noreferrer noopener nofollow">[email protected]</a>, <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="244645564a415d645651464648410a4b5643" rel="noreferrer noopener nofollow">[email protected]</a>, <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0e6c6f63636c6f63634e7c7b6c6c626b20617c69" rel="noreferrer noopener nofollow">[email protected]</a>,
背景信息:我正在尝试将联系人列表粘贴到 webex 邀请中,该邀请仅接受电子邮件地址。
Remove everything except regex match in Vim 是相关的,但在本例中所有电子邮件地址都在一行上。
最佳答案
你尝试过吗?
:s/.\{-}\%(\(,\s*\)\|<\(.\{-}\)>\)/\1\2/g
以下内容也适用:
:s/.*/\=join(map(split(submatch(0), ','), "matchstr(v:val, '<\\zs.*\\ze>')"), ', ')
关于vim - 在 Vim 中删除除 '<' 和 '>,' 之间的字符之外的所有内容 -- 从 Gmail "To"字段中提取电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7446716/