繁体   English   中英

在swift中从Url获​​取Imagename

[英]Get Imagename from Url in swift

我有这个网址https://storage.googleapis.com/user_avatars/63/img_-qLgH80SBqNhMRYbDQeccg.jpg我只需要来自此链接的qLgH80SBqNhMRYbDQeccg图片名称在ui Image

您可以使用NSURL安全地隔离文件名,然后使用子字符串来获取所需的部分。

let s = "https://storage.googleapis.com/user_avatars/63/img_-qLgH80SBqNhMRYbDQeccg.jpg"

斯威夫特2

if let url = NSURL(string: s),
    withoutExt = url.URLByDeletingPathExtension,
    name = withoutExt.lastPathComponent {
    let result = name.substringFromIndex(name.startIndex.advancedBy(5))
    print(result)
}

斯威夫特3

if let url = URL(string: s),
    withoutExt = try? url.deletingPathExtension(),
    name = withoutExt.lastPathComponent {
    let result = name.substring(from: name.index(name.startIndex, offsetBy: 5))
    print(result)
}

斯威夫特4

if let url = URL(string: s) {
    let withoutExt = url.deletingPathExtension()
    let name = withoutExt.lastPathComponent
    let result = name.substring(from: name.index(name.startIndex, offsetBy: 5))
    print(result)
}

打印:

qLgH80SBqNhMRYbDQeccg

那些使用NSURLComponents来分解URL的东西:

func parseURLForFileName(url:String) ->String?
{
    let components = NSURLComponents(string: url)
    if let path:NSString = components?.path
    {
        let filename = path.lastPathComponent
        if let range = filename.rangeOfString("_-")
        {
            return filename.substringFromIndex(range.endIndex)
        }
    }
    return nil
}

然后你会这样称呼它:

    let name = parseURLForFileName("https://storage.googleapis.com/user_avatars/63/img_-qLgH80SBqNhMRYbDQeccg.jpg")
    print(name)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM