Ketika saya sudah NSString
dengan /Users/user/Projects/thefile.ext
saya ingin mengekstrak thefile
dengan metode Objective-C.
Apa cara termudah untuk melakukan itu?
Ketika saya sudah NSString
dengan /Users/user/Projects/thefile.ext
saya ingin mengekstrak thefile
dengan metode Objective-C.
Apa cara termudah untuk melakukan itu?
Jawaban:
Diambil dari referensi NSString , Anda dapat menggunakan:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
The lastPathComponent
panggilan akan kembali thefile.ext
, dan stringByDeletingPathExtension
akan menghapus akhiran ekstensi dari akhir.
lastPathComponent
. Terima kasih!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension]
(gunakan file manager apa pun yang Anda inginkan). Ini memastikan nama file dilokalkan dengan benar, dan ekstensi telah dihapus.
NSString *myExtension = [myString pathExtension]
Jika Anda menampilkan nama file yang dapat dibaca pengguna, Anda tidak ingin menggunakannya lastPathComponent
. Alih-alih, berikan path lengkap ke displayNameAtPath:
metode NSFileManager . Ini pada dasarnya melakukan hal yang sama, hanya itu dengan benar melokalkan nama file dan menghapus ekstensi berdasarkan preferensi pengguna.
Dengan risiko bertahun-tahun terlambat dan keluar dari topik - dan meskipun wawasan luar biasa @ Marc, di Swift sepertinya:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent