簡體   English   中英

如何刪除帶有特殊字符的 NSURL 的最后一個路徑

[英]How to remove last path of NSURL with special characters

所以我有點困惑。 我有一個像這樣的 NSURL

https://something/something/test#4.html

我想刪除這個的最后一條路徑。 我嘗試使用 URLByDeletingLastPathComponent 方法,但結果是這樣。

https://something/something/#4.html

我希望最終結果如下。

https://something/something

刪除片段的一種聰明方法是URLComponents

let url = URL(string: "https://something/something/test#4.html")!

if var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) {
    urlComponents.fragment = nil
    let trimmedURL = urlComponents.url!.deletingLastPathComponent()
    print(trimmedURL)
}

首先,您必須刪除片段。 然后最后一條路徑使用deletingLastPathComponent()

var url = URL(string: "https://something/something/test#4.html")

if let fragment = url?.fragment{
    url = URL(string: (url?.absoluteString.replacingOccurrences(of: "#\(fragment)", with: ""))!)
    url = url?.deletingLastPathComponent()
}

print(url!)

暫無
暫無

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

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