我想刪除只是URL的最後一部分,它的FTP URL。刪除NSURL的最後部分:iOS
假設,我有一個URL:>ftp://ftp.abc.com/public_html/somefolder/。刪除最後一部分後,我應該把它作爲:ftp://ftp.abc.com/public_html/。
我試過使用stringByDeletingLastPathComponenet
和URLByDeletingLastPathComponent
,但他們沒有正確刪除最後一部分。他們改變了整個網址的外觀。
例如,使用上述方法後,這裏是URL格式,我得到了ftp:/ftp.abc.com/public_html/。它會刪除「ftp://」中的一個「/」,這會導致我的程序崩潰。
如何在不干擾URL的其餘部分的情況下刪除最後一部分?
UPDATE:
NSURL * stringUrl = [NSURL URLWithString:string];
NSURL * urlByRemovingLastComponent = [stringUrl URLByDeletingLastPathComponent];
NSLog(@"%@", urlByRemovingLastComponent);
使用上面的代碼中,我得到的輸出: - FTP:/ftp.abc.com/public_html/
'-stringByDeletingLastPathComponent'確實會凝結任何雙斜槓。雖然它的文檔明確表明它只用於路徑,而不是URL! – 2013-05-11 08:43:07
'-URLByDeletingLastPathComponent'雖然正常工作。我只能看到上面的代碼示例輸出'ftp:/ ftp.abc.com/public_html /',如果輸入的格式類似於'ftp:/ ftp.abc.com/public_html/somefolder/ – 2013-05-11 08:44:04
快速跟進:在OS X 10.6(推測是iOS 4)上出現'-URLByDeletingLastPathComponent'錯誤處理路徑部分中的雙斜線。試圖刪除這樣的組件導致'../'被附加代替 – 2014-01-25 20:04:00