¿Cómo obtener el nombre de archivo de la cadena de ruta de archivo dada?
Por ejemplo, si tengo una cadena de ruta de archivo como
file:///Users/DeveloperTeam/Library/Developer/CoreSimulator/Devices/F33222DF-D8F0-448B-A127-C5B03C64D0DC/data/Containers/Data/Application/5D0A6264-6007-4E69-A63B-D77868EA1807/tmp/trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV
y me gustaría obtener el resultado de la devolución como
trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV
Gracias por tu ayuda.
URL
s, no comoString
s oNSString
sSWIFT 3.xo SWIFT 4: la forma más corta y limpia de hacer esto es a continuación. En este ejemplo, la
url
variable es tipo de,URL
de esta manera podemos tener unString
resultado legible por humanos del nombre completo del archivo con la extensión comoMy file name.txt
y No comoMy%20file%20name.txt
fuente
Si desea obtener el nombre del archivo actual, por ejemplo, para fines de registro, uso esto.
Rápido 4
fuente
init(fileURLWithPath path: __shared String, isDirectory: Bool)
para evitar un acceso adicional al sistema de archivos. De los documentos: esta función evita un acceso adicional al sistema de archivos para verificar si la URL del archivo es un directorio. Debería usarlo si ya conoce la respuesta.Rápido 2:
fuente
lastPathComponent
a un swiftString
(en lugar de enviar aNSString
).init(fileURLWithPath path: __shared String, isDirectory: Bool)
para evitar un acceso adicional al sistema de archivos. De los documentos: esta función evita un acceso adicional al sistema de archivos para verificar si la URL del archivo es un directorio. Debería usarlo si ya conoce la respuesta.Prueba esto
Actualizado :
Espero eso ayude.
fuente
El siguiente código me funciona en Swift 4.X
fuente
Para que esto funcione, su URL debe ser de tipo URL, no una cadena, así que no la convierta a una cadena de antemano.
Puede copiar y pegar este código directamente en la zona de juegos para ver cómo funciona.
fuente
Puede pasar la URL en fileUrl, como hice a continuación: -
// Este último componente de ruta le proporcionará el nombre de archivo con extensión.
fuente
Crea una URL de formulario de "nombre de archivo" única que incluye dos carpetas anteriores
}
fuente
Para recuperar el nombre de archivo sin su extensión de una URL en Swift> = 4.2:
fuente