如何从网址中提取域名?

时间:2016-09-13 13:21:41

标签: vba access

我有一个webAddresses列表。我需要从地址中提取域名。

webAddress示例

http://1life.co
http://1rage.com
http://1-solar.com
http://1stplayable.com
http://1velocity.net
http://microsoft.com
http://21cm.com
http://21csi.com
http://23half.com
http://2bsolutions.net

我需要检索这个:

1life
1rage
1-solar
1stplayable
1velocity
microsoft
21cm
21csi
23half
2bsolutions

我尝试查看访问字符串函数,但我找不到任何可以帮助我的东西。

我的查询需要像这样:

SELECT function(webAddress)
FROM myTable

1 个答案:

答案 0 :(得分:1)

如果要通过SQL解析它,可以使用Access RIGHT,LEFT,INSTR和INSTRREV函数:

SELECT LEFT(RIGHT(webAddress, LEN(webAddress) - INSTR(1, webAddress, "//") - 1), 
            INSTRREV(webAddress, ".") -  INSTR(1, webAddress, "//") - 2) FROM myTable;

请注意,您可以在VBA中使用几乎完全相同的逻辑(尽管缓存对InStr的重复调用会更好):

Public Function ExtractUrl(webAddress As String)
    ExtractUrl = Left$(Right$(webAddress, Len(webAddress) - InStr(1, webAddress, "//") - 1), _
                       InStrRev(webAddress, ".") - InStr(1, webAddress, "//") - 2)
End Function