亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除字符串中定界符之后的所有字符

刪除字符串中定界符之后的所有字符

Go
德瑪西亞99 2023-07-31 16:15:30
我正在 golang 中構建一個網絡爬蟲應用程序。下載頁面的 HTML 后,我將 URL 分離出來。我看到的 URL 中含有“#s”,例如“en.wikipedia.org/wiki/Race_condition#Computing”。我想刪除“#”后面的所有字符,因為這些字符無論如何都會指向同一頁面。對于如何做到這一點有什么建議嗎?
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

使用該url包:

u, _ := url.Parse("SOME_URL_HERE")

u.Fragment = ""

return u.String()


查看完整回答
反對 回復 2023-07-31
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

Luke Joshua Park 的答案的改進是解析相對于源頁面 URL 的 URL。這會根據頁面上可能的相對 URL(未指定方案、未指定主機、相對路徑)創建絕對 URL。另一個改進是檢查和處理錯誤。


func clean(pageURL, linkURL string) (string, error) {

    p, err := url.Parse(pageURL)

    if err != nil {

        return "", err

    }

    l, err := p.Parse(linkURL)

    if err != nil {

        return "", err

    }

    l.Fragment = ""   // chop off the fragment

    return l.String()

}

如果您對獲取絕對 URL 不感興趣,請砍掉 # 后面的所有內容。這是有效的,因為 URL 中 # 的唯一有效使用是片段分隔符。


 func clean(linkURL string) string {

    i := strings.LastIndexByte(linkURL, '#')

    if i < 0 {

        return linkURL

    }

    return linkURL[:i]

 }


查看完整回答
反對 回復 2023-07-31
  • 2 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號