【问题标题】:Extracting email domain name from whole email address从整个电子邮件地址中提取电子邮件域名
【发布时间】:2015-03-22 07:10:27
【问题描述】:

我想从整个电子邮件地址中提取域名,如下图所示。

你知道我应该如何使用 VBA 来做到这一点吗?

【问题讨论】:

  • 让问题更清晰

标签: excel vba excel-formula text-extraction


【解决方案1】:

您不需要为此使用 VBA,但如果您想使用更高级的功能(例如正则表达式),则可以使用。您没有提供任何要求,所以我将假设a@b.c 的简单情况。如果格式有子域,例如a@b.c.d,它将返回子域而不是域。

您可以简单地在单元格C4 中使用此公式并根据需要向下拖动。

=LEFT(RIGHT(B4,LEN(B4)-FIND("@",B4)),FIND(".",RIGHT(B4,LEN(B4)-FIND("@",B4)))-1)

如果需要 VBA 解决方案,您可以在 VBA 中将其用作单元格公式。

【讨论】:

  • 这是另一个可行的公式。我猜有点简单:=MID(B4;SEARCH("@";B4;1)+1;SEARCH(".";B4;1)-SEARCH("@";B4;1)-1)
【解决方案2】:

对于 VBA

Name = Mid$(EmailAddress, InStrRev(EmailAddress, "@") + 1, _
                                    InStrRev(EmailAddress, ".") - _
                                    InStrRev(EmailAddress, "@") - 1)

【讨论】:

    【解决方案3】:

    如果您只想要电子邮件地址中的域服务器名称,请尝试:

    =IF(ISERROR(FIND("@",B4)),"",MID(B4,FIND("@",B4)+1,FIND(".",B4,FIND("@",B4))-FIND("@",B4)-1))
    

    【讨论】:

      猜你喜欢
      • 2016-04-12
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      • 2020-01-17
      • 1970-01-01
      相关资源
      最近更新 更多