2017-09-25 1 views
0

Je devrais remplacer l'URL de téléchargement comme "../~~~~.pdf.2.3"(.zip, .xls etc ...)" par "../~~~.pdf"swift3 - remplacer l'url

Si j'utilise url.lastPathComponent, renvoyer nil.

J'ai donc aimé ce code.

let fileLastPathComponents = remoteFileUrl.absoluteString.components(separatedBy: "/") 
    let lastPathComponent = fileLastPathComponents[fileLastPathComponents.count - 1] 
    let fileName = lastPathComponent.components(separatedBy: ".") 
    let fileNameStr = "\(fileName[0]).\(fileName[1])" 

Il a été travaillé, mais removingPercentEncoding non travaillé (rendement nul)

Comment puis-je apporter encodée nom de fichier?

Je ne peux pas changer ce serveur

Merci

+0

ce que le résultat vous obtenez ici 'lastPathComponent' –

+0

lastPathComponent est revenu nul trop –

+0

ce que le résultat que vous obtenez ici' remoteFileUrl.absoluteString' –

Répondre

2

Est-ce que cette solution est bien pour vous?

func dropVersion(fromPath path: String) -> String { 
    var path = path 
    var lastComponent = (path as NSString).lastPathComponent 
    path = (path as NSString).deletingLastPathComponent as String 

    while lastComponent.characters.count > 0 && (lastComponent.characters.last == "." || Int(String(lastComponent.characters.last!)) != nil) { 
     lastComponent = String(lastComponent.dropLast()) 
    } 

    return path + "/" + lastComponent 
} 

let path = "/this_is/your/path.zip.2.3" 
dropVersion(fromPath: path) // will return /this_is/your/path.zip