Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得;在“/”之后的所有内容;在iOS的URL中`_Ios_Swift - Fatal编程技术网

如何获得;在“/”之后的所有内容;在iOS的URL中`

如何获得;在“/”之后的所有内容;在iOS的URL中`,ios,swift,Ios,Swift,假设您从iOS获得URL guard let incomingURL = userActivity.webpageURL else { .. } 我只想要“在://之后的所有内容”作为字符串 也就是说,除了方案之外的所有内容 不幸的是,.path将为您提供 /布拉布拉布拉布拉布拉布拉 但我只想 blahblahblahblah/blob/blab+-&abc=+//cbvc/abc=+-%29k/doa 如何在URL中执行此操作 (或者确实在URLComponents?) (注意:我知道如何从

假设您从iOS获得
URL

guard let incomingURL = userActivity.webpageURL else { .. }
我只想要“在://之后的所有内容”作为字符串

也就是说,除了方案之外的所有内容

不幸的是,
.path
将为您提供

/布拉布拉布拉布拉布拉布拉

但我只想

blahblahblahblah/blob/blab+-&abc=+//cbvc/abc=+-%29k/doa

如何在
URL
中执行此操作

(或者确实在
URLComponents
?)


(注意:我知道如何从字符串中删除前导字符,这里的问题是关于类
URL
)。

获取
主机的范围
,并创建一个从主机开始的子字符串

guard let incomingURL = userActivity.webpageURL,
    let host = incomingURL.host,
    let range = incomingURL.absoluteString.range(of: host) {
    let urlMinusScheme = String(incomingURL.absoluteString[range.lowerBound...]) else { ...
print(urlMinusScheme) 
或者用正则表达式去除
方案

guard let incomingURL = userActivity.webpageURL else { ...
let urlMinusScheme = incomingURL.absoluteString.replacingOccurrences(of: "^https?://", with: "", options: .regularExpression)
print(urlMinusScheme)

获取
主机的范围
并创建一个子字符串,从主机开始

guard let incomingURL = userActivity.webpageURL,
    let host = incomingURL.host,
    let range = incomingURL.absoluteString.range(of: host) {
    let urlMinusScheme = String(incomingURL.absoluteString[range.lowerBound...]) else { ...
print(urlMinusScheme) 
或者用正则表达式去除
方案

guard let incomingURL = userActivity.webpageURL else { ...
let urlMinusScheme = incomingURL.absoluteString.replacingOccurrences(of: "^https?://", with: "", options: .regularExpression)
print(urlMinusScheme)

如果您只需要一个字符串作为结果,我将从url获取该字符串,在
://
处将其一分为二,然后获取下半部分

大概是这样的:

let incomingURL = URL(string: "https://www.example.com/blahblahblahblah/blob/blab+-&abc=+//cbvc/abc=+-%29k/doa")

if let components = incomingURL?.absoluteString.components(separatedBy: "://") {
   let lastPart = components.last!
   print(lastPart)
}
这张照片是:

www.example.com/blahblahblahblah/blob/blab+-&abc=+//cbvc/abc=+-%29k/doa


如果您只需要一个字符串作为结果,我将从url获取该字符串,在
://
处将其一分为二,然后获取下半部分

大概是这样的:

let incomingURL = URL(string: "https://www.example.com/blahblahblahblah/blob/blab+-&abc=+//cbvc/abc=+-%29k/doa")

if let components = incomingURL?.absoluteString.components(separatedBy: "://") {
   let lastPart = components.last!
   print(lastPart)
}
这张照片是:

www.example.com/blahblahblahblah/blob/blab+-&abc=+//cbvc/abc=+-%29k/doa


在哪个斜杠之后?第一个斜杠是
http://
https://
的第一个斜杠。你真的是这个意思吗?当你删除这个方案时,它仍然是一个url吗?@Fattie:我的意思是,也许你不能,因为那样它就不再是一个url了。提取字符串、修改它并创建一个新的URL(如果可能没有方案)似乎是最简单的方法。hi@koen-似乎有些混乱,我不希望此过程产生URL。我只想把scheme后面的所有字符作为字符串。谢谢在哪个斜杠之后?第一个斜杠是
http://
https://
的第一个斜杠。你真的是这个意思吗?当你删除这个方案时,它仍然是一个url吗?@Fattie:我的意思是,也许你不能,因为那样它就不再是一个url了。提取字符串、修改它并创建一个新的URL(如果可能没有方案)似乎是最简单的方法。hi@koen-似乎有些混乱,我不希望此过程产生URL。我只想把scheme后面的所有字符作为字符串。谢谢非常感谢你。你必须这样建造它,真是不可思议!使用有效的URL失败,如htt p://http或scheme://scheme@gnasher729第二个,确实如此,但是
webpageURL
很可能是
http(s)
。令人难以置信的是
URL
(也不是
URLComponents
)真的没有提供一种简单地减去方案的方法,剩下的就剩下了!奇怪!非常感谢你。你必须这样建造它,真是不可思议!使用有效的URL失败,如htt p://http或scheme://scheme@gnasher729第二个,确实如此,但是
webpageURL
很可能是
http(s)
。令人难以置信的是
URL
(也不是
URLComponents
)真的没有提供一种简单地减去方案的方法,剩下的就剩下了!奇怪!