[英]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
這可能嗎?
謝謝你!
如果只對 URL 的第二部分感興趣,在模塊中寫一個 function 並在工作表中使用它
Public Function StripURL(oRng As Range) As String
StripURL = Split(oRng.Value, ".")(1)
End Function
更新
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
如果您的條目與您的示例一樣簡單,您可以試試這個:
=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.