我有一个看起来像myapp://jhb/test/deeplink/url?id=4567. 我想删除?字符后的所有内容。最后,URL 应如下所示myapp://jhb/test/deeplink/url。如何。我能做到吗?将网址转换为字符串?正则表达式?
luk*_*302 10
使用URLComponents不同的URL部分分开,处理它们,然后提取新的网址:
var components = URLComponents(string: "myapp://jhb/test/deeplink/url?id=4567")!
components.query = nil
print(components.url!)
Run Code Online (Sandbox Code Playgroud)
myapp://jhb/test/deeplink/url
方便的 URL 扩展
private extension URL {
var removingQueries: URL {
if var components = URLComponents(string: absoluteString) {
components.query = nil
return components.url ?? self
} else {
return self
}
}
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做
let values = utl?.components(separatedBy: "?")[0]
Run Code Online (Sandbox Code Playgroud)
它将破坏字符串并?返回数组。第一个对象为values您提供结果字符串。