簡體   English   中英

刪除 Excel 中域的后綴

[英]Remove suffix of a Domain in Excel

我正在處理大量的 URL,我需要刪除 URL 的后綴。我使用了 LEFT function,但它只能刪除 .org、.net、.com 或任何其他 3 個字母的后綴。 我的問題是,還有一些網站有 2 個字母后綴:

http://www.howtuseseo.com/health/resources -> howtouseseo

http://www.hpa.nhs.uk/Topics/InfectiousDiseases/InfectiousDiseasesLinks/ -> hpa

http://hpani.org/Links/smokingcessation.htm -> hpani

http://www.hpcbd.com/Resources.html -> hpcbd

http://hpp.lipscomb.edu/healthcenter/Health-Resources -> hpp.lipscomb

http://www.hpsdma.nic.in/UsefulLinks.html -> hpsdma

這可能嗎?

謝謝你!

如果只對 URL 的第二部分感興趣,在模塊中寫一個 function 並在工作表中使用它

Public Function StripURL(oRng As Range) As String
    StripURL = Split(oRng.Value, ".")(1)
End Function

數據集1

更新

Public Function StripURL(oRng As Range) As String
    Dim sURL As String
    sURL = oRng.Value
    ' 1. Keep text after "//"
    If InStr(1, sURL, "//", vbTextCompare) > 0 Then sURL = Split(sURL, "//")(1)
    ' 2. Keep text before first "/"
    sURL = Split(sURL, "/")(0)
    ' 3. Check if contains "www."
    If InStr(1, sURL, "www.", vbTextCompare) > 0 Then
        ' 3a. Remove "www."
        sURL = Replace(sURL, "www.", "")
        ' 4. Check number of dots
        Select Case UBound(Split(sURL, "."))
            Case 0 To 2
                sURL = Split(sURL, ".")(0)
            Case Is > 2
                sURL = Split(sURL, ".")(0) & "." & Split(sURL, ".")(1)
        End Select
    Else
        ' 3b. Check number of dots
        Select Case UBound(Split(sURL, "."))
            Case 0 To 1
                sURL = Split(sURL, ".")(0)
            Case Is > 1
                sURL = Split(sURL, ".")(0) & "." & Split(sURL, ".")(1)
        End Select
    End If
    StripURL = sURL
End Function

數據集2

如果您的條目與您的示例一樣簡單,您可以試試這個:

=MID(MID(A1,12,LEN(A1)-11),1,SEARCH(".",MID(A1,12,LEN(A1)-11))-1)

假設你的數據是這樣排列的:

但是,如果中間有多余的點,則這不會 100% 有效。
希望這對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM