首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS 從文件路徑獲取文件名的簡單方法:lastPathComponent

     編輯:程式設計綜合問答

在 iOS 中從完整文件路徑 (如 /Application/Mobile/Lib/123.abc) 提取文件名 (123.abc),最簡單的方法是使用 NSString 的 lastPathComponent 方法。

標準方法

NSString *fullPath = @"/Application/Mobile/Lib/123.abc";
NSString *fileName = [fullPath lastPathComponent];
// 結果: @"123.abc"

相關實用方法

方法功能示例輸入輸出
lastPathComponent獲取最後一級路徑 (文件名或目錄名)/a/b/c.txtc.txt
pathExtension獲取擴展名/a/b/c.txttxt
deletingPathExtension移除擴展名/a/b/c.txt/a/b/c
deletingLastPathComponent獲取父目錄路徑/a/b/c.txt/a/b
appendingPathComponent:拼接路徑/a/b + "c.txt"/a/b/c.txt

組合使用示例

NSString *path = @"/var/mobile/Documents/report_v2.1.pdf";

NSString *fileName = [path lastPathComponent];           // report_v2.1.pdf
NSString *extension = [path pathExtension];              // pdf
NSString *nameWithoutExt = [[path lastPathComponent] deletingPathExtension]; // report_v2.1
NSString *directory = [path deletingLastPathComponent];  // /var/mobile/Documents

NSURL/API 版本 (現代推薦)

NSURL *fileURL = [NSURL fileURLWithPath:path];
NSString *fileName = [fileURL lastPathComponent]; // 同樣結果

// 或使用 URLResourceValues (iOS 11+)
NSError *error = nil;
NSURLResourceValues *values = [fileURL resourceValuesForKeys:@[NSURLNameKey, NSURLTypeIdentifierKey] error:&error];
if (!error) {
    NSString *name = values.name; // 文件名
    NSString *uti = values.typeIdentifier; // 統一類型標識符
}

注意事項

  • lastPathComponent 對目錄路徑也有效:@"/a/b/c/" 返回 @"c"
  • 路徑字串無需真實存在於文件系統,純字串操作
  • 處理 URL 時優先使用 NSURL/URL 類別,自動處理百分號編碼等

Swift 版本


let path = "/Application/Mobile/Lib/123.abc"
let fileName = (path as NSString).lastPathComponent
// 或 Swift 原生
let url = URL(fileURLWithPath: path)
let fileName2 = url.lastPathComponent
let ext = url.pathExtension
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved