Cuando tengo NSStringcon /Users/user/Projects/thefile.extquiero extraer thefilecon métodos Objective-C.
Cual es la forma mas fácil de hacer eso?
Cuando tengo NSStringcon /Users/user/Projects/thefile.extquiero extraer thefilecon métodos Objective-C.
Cual es la forma mas fácil de hacer eso?
Respuestas:
Tomado de la referencia NSString , puede usar:
NSString *theFileName = [[string lastPathComponent] stringByDeletingPathExtension];
La lastPathComponentllamada volverá thefile.exty stringByDeletingPathExtensioneliminará el sufijo de extensión del final.
lastPathComponent. ¡Gracias!
[[[NSFileManager defaultManager] displayNameAtPath:path] stringByDeletingPathExtension](use el administrador de archivos que desee). Esto garantiza que el nombre de archivo se localice correctamente y que la extensión se haya eliminado.
NSString *myExtension = [myString pathExtension]
Si está mostrando un nombre de archivo legible por el usuario, no desea usarlo lastPathComponent. En su lugar, pase la ruta completa al displayNameAtPath:método NSFileManager . Esto básicamente hace lo mismo, solo que localiza correctamente el nombre del archivo y elimina la extensión en función de las preferencias del usuario.
A riesgo de llegar años tarde y fuera de tema, y a pesar de la excelente visión de @ Marc, en Swift parece que:
let basename = NSURL(string: "path/to/file.ext")?.URLByDeletingPathExtension?.lastPathComponent